专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

Flash摄像头游戏课件的设计之动画制作论文

  摘要:
  摄像头游戏是随着技术的进步产生出来的一种新的游戏形式,它摆脱了鼠标与键盘的限制,给游戏者以全新的互动体验。Flash8提供的位图处理功能为Flash摄像头游戏的实现提供了可能。将摄像头游戏技术引入到Flash课件的开发,可以充分发挥其互动性和趣味性,与传统Flash课件相比,具有其不可替代的优势。该文提出设计Flash摄像头游戏课件的基本原则,并以《水果乐园》课件为例,详细介绍了开发的过程和主要实现方法,为摄像头游戏类课件制作提供了参考。
  关键词:Flash;摄像头游戏;
  一、引言
  摄像头游戏是随着摄像头的普及和图形图像技术的不断发展而出现的。它摆脱了鼠标键盘的限制,给游戏者带来全新的游戏体验,能够实现许多传统游戏无法实现的游戏效果。它通过摄像头将玩家投影到游戏中,由玩家自己做动作与游戏进行交互。画面中登场的敌人或道具都将对玩家的动作即刻做出反应,让玩家体验到前所未有的新鲜感。
  Flash课件是用Flash的形式表现教学内容一种课件形式。Flash课件充分利用了Flash的直观性、互动性以及娱乐性,能够有效的调动学生的学习积极性,激发学生的学习乐趣,在当前的教学过程中发挥着越来越大的作用。Flash摄像头游戏课件整合了摄像头游戏和Flash课件的优点,充分体现了寓教于乐的教学思想。它带给学生全新的游戏感受,能够极大的激发学生的学习兴趣。它能够激发学生的多种感观刺激,建立强烈的真实感,通过游戏过程中学生与游戏的互动,还能够促进学生手、耳、眼以及肢体的相互协调,达到较好的教学效果。
  二、Flash摄像头游戏课件的设计原则
  Flash摄像头游戏课件具有较好参与性、体验性,能够有效增强学习效果,提高学习效率,特别适合于学生动作类技能的训练。在设计的过程中,应遵循如下原则,体现其独特的优势。
  (1)教学性原则
  这是所有课件,应用于教学的最基本的要求,该类课件也不例外,在设计的过程中,必须针对一定的教学目标,遵循认知过程的一般规律,组织教学内容和教学活动。紧密围绕以学生学习为中心的设计思路。
  (2)易用性原则
  摄像头游戏课件的交互,计算机对于学习者的动作回应,都是建立在动作检测,捕捉学习者动作影像的基础上。设计过程中应考虑让学习者的操作尽量简便,易于上手使用。做好课件使用的帮助或者使用手册。
  (3)科学性原则
  课件的内容,不能有科学性的错误,这也是设计中基本要求,必须对课件所有呈示的内容,进行严格仔细的审查,保证学生看到的所有知识点,都必须科学、准确,一般由课件开发小组中学科专家把好关。
  (4)艺术性原则
  如果一个课件的展示不但取得良好的教学效果,而日‘使人赏心悦目,使人获得美的享受,则说课件具有较高的艺术性。这样的课件是好的内容与美的形式的统一,美的形式能激发学生的兴趣,史好地表现内容。其表现有:展示的对象结构对称,色彩柔和,搭配合理,有审美性。
  (5)体验性原则
  摄像头游戏课件因其交互的多维化,全方位,检测学习者动作,使得学习者的沉浸感很强,要求学习者的个人形象和课件环境融合的过程中,能让学习能有身临其境的感觉,所以课件在设计的过程中,注意课件环境,界面的元素,声音的效果,都必然能激发学习者的投入感。该原则是摄像头游戏课件设计过程中最重要的原则,也是整个课件制作的关键,成败所在。
  三、Flash摄像头游戏课件的设计与实现
  在儿童英语教学中,引入Flash摄像头游戏课件,使得儿童摆脱键盘和鼠标的单一化的交互方式,而进行身体动作与计算机的交互,增强儿童学习的体验感,能较好的辅助英语的学习。以下是设计与开发的水果乐园课件的实现步骤和主要功能代码。
  1。摄像头图像的捕获
  使用Camera类实现对摄像头图像的捕获。Camera。get()方法返回对用于捕获视频的Camera对象的引用。当SWF文件尝试访问Camera。get()返回的摄像头时,FlashPlayer显示拒绝对话框,用户可从中选择是允许还是拒绝对摄像头的访问。setMode()方法将摄像头的捕获模式设置为最符合指定要求的本机模式。新建一个Camera对象,实例名为mycam,并设置对象属性。varmycam:CameraCamera。get();mycam。setMode(160,120,30,true);
  2。摄像头图像的显示
  1)显示图像
  若要实际开始捕获视频,必须将Camera对象附加到Video对象。attachVideo(source:Object):Void指定将在舞台上的Video对象的边界内显示的视频流(source)。新建一个Video对象,将Camera对象附加到Video上。varmyvideo:Video;myvideo。attachVideo(mycam);
  2)水平翻转图像
  由于摄像头中看到的图像与游戏者本人的方向相反。为了方便游戏者操作游戏,在加载图像时应该把图像左右翻转。这一操作非常重要,将直接影响游戏者的游戏体验。
  Video。rotation属性可以实现对Video图像的旋转,但是无法实现左右翻转的效果。
  Video。xscale属性指示从Video对象注册点开始应用的Video对象的水平缩放比例。当x轴的水平缩放比例为100时,则可以实现对Video对象的水平翻转。默认注册点为(0,0)。缩放本地坐标系统将影响x和y属性设置,这些设置是以整像素定义的。由于翻转时是以左上角主测点为中心,因此在水平翻转之后,Video对象的坐标虽然未发生改变,但是整体位置向左平移了Video。width个像素。因此翻转之后我们需要设置Video的新坐标为Video。xVideo。xVideo。width。
  3。获取图像信息
  要对获取的图像进行分析,必须将从摄像头获取的图像信息提取出来。在Flash8中,Bitmap对象存储了图像中各点的RGB通道信息以及Alpha通道信息,可以使用new方法建立一个Bitmap对象。然后使用draw()方法提取某一时刻video对象中的像素信息。
  draw(source:Object,〔matrix:Matrix〕,〔colorTransform。:ColorTransform〕,〔blendMode:Object〕,〔clipRect:Rectangle〕,〔smooth:Boolean〕):Void使用FlashPlayer矢量呈现器在目标图像上绘制源图像。使用Matrix、ColorTransform、BlendMode对象以及目标Rectangle对象来控制呈现的执行方式。或者也可以指定缩放时是否应对位图进行平滑处理。这只适用于当源对象是BitmapData对象时的情况。
  importFlash。display。BitmapData;
  创建BitmapData对象Varsnapshot:BitmapDatanewBitmapData(outputvid。width,outputvid。height);
  从myvideo获取当前图像now。draw(myvideo);
  4。运动检测的实现
  该部分是整个摄像头游戏实现的核心。主要利用了Flash8的位图处理功能,即BitmapData类。
  1)基本思路
  我们可以使用getPixel(x,y)获取前一张图片上每个像素点的像素值,然后对比后一张图片中的每一点的像素值,当像素的亮度差值变化达到一定程度时,认为该点发生了运动变化。通过这种方式,得到前后两张图片的负片效果图。
  阀值tolerance10;
  获取当前图像now某一点的RGB值ncnow。getPixel(x,y);
  红色通道nrnc16amp;0xff;
  绿色通道ngnc8amp;0xff;
  蓝色通道nbncamp;0xff;
  计算该点亮度值nlMath。sqrt(nrnrngngnbnb)
  获取前一快照before同一点的RGB值bcbefore。getPixel(x,y);
  红色通道brbc16amp;0xff;
  绿色通道bgbc8amp;0xff;
  蓝色通道bbbcamp;0xff;
  计算该点亮度值blMath。sqrt(brbrbgbgbbbb);
  计算亮度值的变化dMath。round(Math。abs(blnl));
  if(dtolerance){该点发生了变化}
  但是这种方法存在计算效率问题。按图像大小为180160像素,每秒30帧计算,每计算一副图片需要的计算次数为18016030。图像的像素越大,需要的计算次数就越多。采用隔点检测的方法可以在一定程度上缓解计算压力,即每隔n个像素检测一次,这样电脑的计算次数减少为原来的1n。
  2)改进思路
  Flash8提供的图像混合模式可以解决上面遇到的效率问题。Flash8提供了11种图像混合模式。每一种混合模式可以得到不同的混合效果。Different混合模式是基于两张图片之间的亮度差值进行计算,从而得到图片的负片效果。利用该模式,便可以得到移动像素的检测图像。
  将前一张快照before的图像绘制到当前快照now上,使用different混合模式now。draw(before,newMatrix(),null,difference);
  图像中黑色表示没有发生移动,其他颜色表示发生了移动。由于Flash8提供的混合模式是采用C编码实现的,因此运行效率要比ActionScript编码更加高效。
  5。动态显示检测图像
  1)处理检测图像
  通过以上两种方式得到的图像中色彩范围较广,这增加了统计上面的困难。通过使用threshold()方法,可以隔离和替换图像中的颜色范围,并对图像像素执行其它逻辑操作。threshold()函数根据指定的阈值测试图像中的像素值,并将通过测试的像素设置为新的颜色值。这样,便得到了清晰醒目的。检测图像。
  将大于阀值0xFF111111的像素替换为绿色。
  myBitmap。threshold(myBitmap,myBitmap。rectangle,myBitmap。rectangle。topLeft,,0xFF111111,0xFF00FF00,0x00FFFFFF,false);
  2)检测图像的显示
  Bitmap对象无法直接在舞台上显示,必须附着在MovieClip上面才能显示。因此可以使用MovieClip类的attachBitmap()方法,将获取的图像信息显示出来。
  创建一个影片剪辑来显示当前图像this。createEmptyMovieClip(当前,this。getNextHighestDepth());
  将摄像头获取的图像显示在影片剪辑内bitmapmc。attachBitmap(now,1);
  3)检测图像的动态显示
  要实现检测图像的动态显示,必须不断的更新当前图像now和历史图像before,并进行混合处理。可以把检测图像的功能写成方法snapshot(),每隔100毫秒调用一次。
  伪代码如下:
  functionsnapshot(){获取当前图像获取检测图像将检测图像绘制到将检测图像中RGB超过阀值0xFF111111的部分替换成绿色显示检测图像本次检测完成之后,当前图像便成为了历史图像。为下一次检测做好准备。preBitmapnowBitmap。clone();}
  在该方法中,关键在于每次检测完成之后当前图像和历史图像的更新。
  6。检测特定区域内的运动状态
  经过上面几步操作,已经得到了检测图像。检测图像是对整幅图像的运动情况的反映。在游戏中,经常需要检测的是某一特定区域的运动状态。
  1)检测某点的运动状态
  因为已经到了检测图像,所以在检测某一点运动状态时,只需要判断检测图像上该点的RGB值是否大于阀值。
  伪代码如下:
  pixmyBitmap。getPixel(x,y);if(pix大于阀值){该点发生了运动}
  2)检测某区域的运动状态
  由于灯光因素、摄像头图像噪点等干扰因素的存在,每次只检测一个点容易造成检测结果的不稳定。因此,大多采用区域检测的方式。即在检测某点运动状态时,检测的不仅仅是这个点,而是以该点开始的nn个像素的区域(n的取值根据实际情况确定,在检测点数量较多时,n的值不宜取太大。)。如果检测区域内的像素点变化数量超过一定阀值,如60,则认为该区域发生了运动。
  需要注意的一点是,由于看到的图像是经过水平翻转的,但原有的图像内部坐标系并没有发生变化,因此,检测时的取点位置也要水平翻转。
  以(rectx,recty)为顶点的rectwrecth的矩形区域的运动情况
  functionismove(a,rectx,recty,rectw,recth){vari,j;
  varsum0;
  varpix;
  for(i1;irectw;i){for(j1;jrecth;j){图像水平翻转后取点位置相对变化pixa。getPixel(160irectx,jrecty);
  if(pix132361){sum;
  trace(sumsum);
  if(sum(recthrectw2)){return(sum);
  该区域发生了运动}else{return0;}}
  在该方法中,检测图像、检测区域顶点坐标、检测区域大小都为作为变量输入。采用这种方法,提高了程序的重用性,还可以实现对运动物体的检测。
  3)检测点的设置
  所谓检测点,实际是一个影片剪辑。在进行区域检测时,以该影片剪辑的坐标(x,y)确定检测区域的坐标位置。检测点可以是一个不可见的辅助点,也可以是舞台中运动的物体。当把运动物体做为检测点时,随着物体的移动,检测区域也随之移动,因此可以实现对运动物体的检测。检测点的作用:一是可以起到辅助点的作用,简化了检测区域定位的繁琐工作,使定位操作可视化。二是实现了代码的重用,起到了简化程序的作用。
  7。实现摄像头运动检测的控制接口
  游戏中检测点接口的作用就是返回舞台中被触碰的检测点编号。在接口函数中,调用了以上几个功能函数。返回值为检测点编号。
  functionistouch(){varmax:Number0;
  varmin:Number;
  varnum:Number;
  for(vari1;i9;i){检测第i个检测点是否被触碰minismove(myBitmap,this〔pointi〕。xxpoint,this〔pointi〕。yypoint,10,10);
  每次只能激发一个点,选择9个点中移动最显著的一个if(maxmaxmin;numi;}}
  if(num){返回被触碰的点的序号return(num);}else{一个检测点也没碰到!;return0;}}
  8。游戏交互功能的实现
  游戏功能交互的实现tulaoshi。com方法和其他Flash游戏大体类似。在此游戏中,主要包括3大功能模块:子弹系统,气球系统和主控制系统。
  1)子弹系统的实现
  该部分主要是实现子弹的运动。游戏中有9个检测点,每个检测点都可以发射子弹。各位置发射的子弹运动方向是不同的。第i个检测点的子弹方向为roti20,初始位置在界面底部中央。
  this。xthis。x30Math。cos(rotMath。PI180);
  this。ythis。y30Math。sin(rotMath。PI180);
  当子弹出界时,要使用this。unloadMovie()方法将该子弹实例销毁,释放内存。
  2)气球系统的实现
  该部分主要是实现气球的碰撞检测,判断气球是否被子弹击中需使用hitTest()函数。该函数有两种用法:
  用法1:
  根据shapeFlag设置,将x和y坐标与指定实例的形状或边框进行比较。如果shapeFlag设置为true,则只计算在舞台上的实例实际占据的区域,并且如果x和y在任意一点重叠,则返回true值。
  用法2:
  计算target和指定实例的边框,如果它们在任意一点上重叠或交叉,则返回true。
  3)主控制系统的实现
  主控制系统是实现互动功能的核心部分。主要工作就是把游戏中所有的功能模块集成起来,对各功能模块进行调度和显示。一方面,主控制系统要接收从摄像头功能接口传递的信息;一方面根据接收的信息执行相应的功能代码。
  四、结束语
  Flash摄像头游戏课件能够实现很多传统Flash课件难以实现的效果,特别是对操作技能的培养。我们开发的《水果乐园》课件提供给一些小学,进行了英语学习实践,效果还不错。但是,对于Flash摄像头游戏课件应用于学生高级思维策略的训练,还没有进行深入的研究,特别是角色扮演型、问题探究型等学习模式等实施,有待进一步的的探索和实践。

食盐加碘的生产工艺研究论文原料盐从原盐皮带机上卸入原盐缓冲料仓中,当高料位传感器亮,自动卸料器升高,同时闸门自动开启,定量螺旋输送机后配混合器卧式螺旋抛盐混料机开始运行,设置1s2s的延时,喷碘装置喷出碘液商业秘密侵权诉讼论文一我国财务信息公开的现状财务信息主要是财务报告提供的各项资料。根据刑法第219条规定,商业秘密是指不为公众所知悉,能为权利人带来经济利益,具有实用性并经权利人采取保密措施的技术信息教师课堂的有效管理论文教师课堂的有效管理是指授课教师对课堂教学内容课堂学习状态课堂学习行为课堂学习方法及课堂学习资源的有效整合。其中,课堂教学内容的有效管理是基础,课堂学习行为的有效管理是保障,课堂学习体育游戏对初中体育教学的应用论文摘要在全面推进素质教育的号召下,中学的课程体系和教学方式都在不断改进和完善。其中,体育作为素质教育要求中最重要的学科之一,不断突破传统过时的教学方式开拓新的发展道路,而体育游戏的引车辆工程专业论文辆工程专业培养掌握机械电子计算机等全面工程技术基础理论和必要专业知识与技能,了解并重视与汽车技术发展有关人文社会知识,能在企业科研院(所)等部门。接下来是小编准备的车辆工程专业论文行政前台毕业论文很多公司都有行政前台一职,大家知道怎么样书写关于公司行政的毕业论文吗?以下是小编整理好的行政前台毕业论文,欢迎大家阅读参考!摘要公司行政管理是现代公司生存发展目标顺利实现的重要保障谈会计改革与会计电算化的发展毕业论文摘要会计改革和发展需要会计电算化,会计电算化与传统手工会计相比产生了很多前所未有的优点。如何让会计电算化适应会计改革的要求,为国民经济的发展起到良好的推动作用,是需要大力探讨的问题中英高校留学生安全管理比较探讨论文摘要本文从国家高校和社会三个层面比较分析了我国和英国对留学生安全管理的现状,借鉴英国国际教育的优点和有效方法,结合我国留学生安全管理的特点和问题,为制定合理有效的留学生安全管理体系动态语境和言语交际行为研究论文摘要语境即语言环境,是言语交际发生的情景中各种因素的总和。交际是一种言语或非言语的行为,必然发生在特定的语言环境中。本文旨在探讨动态语境和交际行为的概念以及两者的关系。关键词动态语让文言文教学成为一道风景的论文语文新课表明确指出语文教学应致力于学生语文素养的形成。传承民族文化,吸取中国古典文学的精华,应是文言文教学的主要目的。相比现代文,学生对文言文的兴趣要淡一些,感悟能力要弱一些。基于新生代员工心理契约与工作投入的关系研究论文摘要当今,心理契约已成为企业管理的热点话题,本文以新生代员工为研究对象,探讨新生代员工心理契约与工作投入的关系。采用问卷调查及访谈相结合的方法,通过对调查结果的统计分析,发现新生代
河南省文化产业发展优势及战略选择河南省文化产业发展优势及战略选择一文化产业的含义及河南发展文化产业的意义(一)文化产业的含义发展文化产业必须准确理解文化产业的含义。所谓文化产业,是指以文化产品和文化活动为主体对象围绕建设文化强国战略切实加强档案文化建设一准确理解文化强国对档案建设提出的要求在对我国民族文化以及地方文化挖掘和发展方面,档案建设起到特殊的重要作用,作为我国社会主义文化事业的关键部分,档案事业的发展能够在很大程度上促进基于STP战略的泰山石敢当文化国际市场营销可行性分析一引言泰山石敢当文化是发源于泰山周边的民俗事项,也是上古时期流传下来的石崇拜的延伸与发展。它作为泰山文化的一部分,由来已久,传播广泛。目前,我国许多地区依然习惯在墙基处或巷陌桥道之试论对文化产业园发展的战略思考一建设文化产业园的战略意义1改善文化产业布局结构,实现产业聚集效应。一是产业的簇群化有效地促进了资源整合。簇群深化了劳动分工,实现了企业内部分工的外部化,结果导致了参与分工的所有企科技创新推动商洛文化强市战略的思考文化发展与经济是相互影响密不可分的。商洛由于经济的落后造成文化的滞后,文化滞后影响了经济的发展。商洛文化目前处在由农耕文化向现代工商业文化转型的初中级阶段。虽然在传统戏曲文学等方面从中华文化伟大复兴的战略高度促进文化产业的大发展一高度认识我国文化产业的优势及对中华文化复兴的作用文化产业是一个朝阳产业。我国发展文化产业具备诸多有利因素。首先是具有得天独厚的文化资源如浓郁厚重的文化传统浩如烟海的文化典籍多姿多实施品牌文化战略推进企业发展21世纪是一个文化主导的世纪,我国目前已开始由经济型社会向文化型社会过渡。在现代经济中,文化因素越来越重要,对推动经济社会发展促进社会和谐具有巨大的统领力推动力渗透力。文化是一个民文化体制改革过程中教育类出版社发展战略文化体制改革对教育类出版社而言既是机遇,又是挑战。如何在竞争日益激烈的出版业市场中占据优势,甚至脱颖而出是每一个教育类出版社应当考虑的头等大事。教育类出版社要从自身出发,分析其内部科技全球化背景下对于文化发展战略的考量随着科学技术日新月异的发展,科学技术的社会作用越来越突出,科技文化已经成为当代最重要的文化现象之一。一方面,一定社会的科学技术成果在一定程度上影响和改造该社会的文化现象另一方面,文文化发展战略下的国有企业思想政治工作创新引言国有企业在我国的经济体系中处于重要的位置,是我国特色社会主义制度的经济基础,维系着我国整个现代化建设,具有不可替代的主导作用。思想政治工作在促进国有企业的发展上发挥着重要的精神中国地缘文化的战略研究所谓地缘文化,是指同一空间区域内的社会群体因受其所处的地理环境影响而形成的具有共同内容和特殊特征的文化系统。这种文化系统包含了历史语言信仰道德风俗艺术民族精神面貌心理状态思维方式价
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网