快速业务通道

Flash摄像头游戏课件设计与开发

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-07
英语教学中,引入Flash摄像头游戏课件,使得儿童摆脱键盘和鼠标的单一化的交互方式,而进行身体动作与计算机的交互,增强儿童学习的体验感,能较好的辅助英语的学习。以下是设计与开发的“水果乐园”课件的实现步骤和主要功能代码。
  1.摄像头图像的捕获
  使用Camera类实现对摄像头图像的捕获。Camera.get()方法返回对用于捕获视频的 Camera 对象的引用。当 SWF 文件尝试访问 Camera.get() 返回的摄像头时,Flash Player 显示“拒绝”对话框,用户可从中选择是允许还是拒绝对摄像头的访问,如图1所示。    Flash摄像头游戏课件设计与开发 setMode()方法将摄像头的捕获模式设置为最符合指定要求的本机模式。
  //新建一个Camera对象,实例名为my_cam,并设置对象属性。
  var my_cam:Camera = Camera.get();
  my_cam.setMode(160,120,30,true);
  2.摄像头图像的显示
  1)显示图像
  若要实际开始捕获视频,必须将 Camera 对象附加到 Video 对象。attachVideo(source:Object) : Void指定将在舞台上的 Video 对象的边界内显示的视频流 (source)。
  //新建一个Video对象,将Camera对象附加到Video上。
  var my_video:Video;
  my_video.attachVideo(my_cam);
  2)水平翻转图像
  由于摄像头中看到的图像与游戏者本人的方向相反。为了方便游戏者操作游戏,在加载图像时应该把图像左右翻转。这一操作非常重要,将直接影响游戏者的游戏体验。
  Video._rotation 属性可以实现对Video图像的旋转,但是无法实现左右翻转的效果。
  Video._xscale 属性指示从 Video 对象注册点开始应用的 Video 对象的水平缩放比例 。当x轴的水平缩放比例为-100时,则可以实现对Video对象的水平翻转。默认注册点为 (0,0)。缩放本地坐标系统将影响 _x 和 _y 属性设置,这些设置是以整像素定义的。由于翻转时是以左上角主测点为中心,因此在水平翻转之后,Video对象的坐标虽然未发生改变,但是整体位置向左平移了Video. _width个像素。因此翻转之后我们需要设置Video的新坐标为Video._x = Video._x+Video._width。
  3.获取图像信息
  要对获取的图像进行分析,必须将从摄像头获取的图像信息提取出来。在Flash8中, Bitmap对象存储了图像中各点的RGB通道信息以及Alpha通道信息,可以使用new方法建立一个Bitmap对象。然后使用draw()方法提取某一时刻video对象中的像素信息。
  draw(source:Object,[matrix:Matrix],[colorTransform.:ColorTransform], [blendMode:Object], [clipRect:Rectangle], [smooth:Boolean]) : Void使用 Flash Player 矢量呈现器在目标图像上绘制源图像。使用 Matrix、ColorTransform、BlendMode 对象以及目标 Rectangle 对象来控制呈现的执行方式。或者也可以指定缩放时是否应对位图进行平滑处理。这只适用于当源对象是 BitmapData 对象时的情况。
  import Flash.display.BitmapData;
  
  //创建BitmapData对象
  Var snapshot:BitmapData=new
  BitmapData(output_vid._width,output_vid._height);
  //从my_video获取当前图像
  now.draw(my_video);
  4.运动检测的实现
  该部分是整个摄像头游戏实现的核心。主要利用了Flash 8的位图处理功能,即BitmapData类。
  1)基本思路
  我们可以使用getPixel(x,y)获取前一张图片上每个像素点的像素值,然后对比后一张图片中的每一点的像素值,当像素的亮度差值变化达到一定程度时,认为该点发生了运动变化。通过这种方式,得到前后两张图片的负片效果图。
  //阀值
  tolerance=10;
  //获取当前图像now某一点的RGB值
  nc=now.getPixel(x,y);
  //红色通道
  nr=nc>>16&0xff;
  //绿色通道
 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号