Flash摄像头游戏课件的设计与实现
作者 凌众技术
来源 网页制作
浏览
发布时间 2012-03-08
者本人的方向相反。为了方便游戏者操作游戏,在加载图像时应该把图像左右翻转。这一操作非常重要,将直接影响游戏者的游戏体验。 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; //绿色通道 ng=nc>>8&0xff; //蓝色通道 nb=nc& |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 用Flash做网站导航同样要注意用户可用性下一篇: Flash轻松制作照片上有水纹波动动画
关于Flash摄像头游戏课件的设计与实现的所有评论