Flash AS 3.0基础教程:物理基础之重力.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Flash AS 3.0基础教程:物理基础之重力

Flash AS 3.0基础教程:物理基础之重力 自由落体运动是只受到重力作用的运动,物体开始时是静止的,速度为0,然后受到重力的作用,速度不断加快,而实现竖直向下的加速运动。 实现自由落体运动,需定义速度和加速度: //变量gra表示重力产生的加速度 var gra:Number = 5; //变量vy是初始速度 var vy:Number = 0; //然后使用重力改变速度的公式 vy += gra; //通过速度改变物体的位置 mc.y += vy; 完整的代码: var gra:Number = 5; var vy:Number = 0; mc.addEventListener(Event.ENTER_FRAME,test); function test(e:Event):void { vy += gra; mc.y += vy; } 测试上面的代码,看到物体刚开始静止,然后速度不断加快,实现了自由落体运动。但这个运动并不真实,当物体掉到地面时,给它一个反弹力,看起来就会真实一些。 如果物体的纵坐标大于等于stage.stagHeight - mc.height/2时,就相当于碰到了地面,地面会给物体反弹力。由于反弹力是竖直向上的,可用负值来表示。 加入反弹力的代码: var gra:Number = 5; var vy:Number = 0; //反弹力是反弹加速度 var bounce:Number = -0.7; mc.addEventListener(Event.ENTER_FRAME,test); function test(e:Event):void { vy += gra; mc.y += vy; //如果mc的底部超出舞台的下边界 if (mc.y = stage.stageHeight - mc.height / 2) { //使mc位于地面上 mc.y = stage.stageHeight - mc.height / 2) //速度加上反弹加速度 vy *= bounce; } } 我想您一定已经知道如何向帧和按钮中添加脚本,下面需要知道如何向影片剪辑中添加脚本: 要为影片剪辑添加脚本,首先要选中影片剪辑,再打开它对应的动作面板,然后在其中输入脚本。影片剪辑脚本和按钮的脚本类似,它们都使用事件处理函数,与按钮的on关键字不同,影片剪辑使用 onClipEvent关键字。当某种影片剪辑事件发生时,就会触发相应的事件处理函数。 影片剪辑最重要的两种事件是load和enterFrame,这个两个事件感觉看着很简单,但是你真的明白吗?(说实话,我刚开始学的时候,就好长时间不明白,我每次都试这个不对,在试另外的一个,今天有人有也问到了这个问题,我就写出来给大家一起分享吧!很明白的,就当作复习吧,要不就直接不用看了,不明白的,就好好的看看,有什么疑问,留言告诉给我们,好吗?)load事件在影片剪辑完全加载到内存中时发生。在每次播放Flash影片时,每个影片剪辑的load事件只发生一次。 在主时间轴停止播放时,影片中的影片剪辑并不会停止播放,这个特性决定了影片剪辑的另一个事件enterFrame的重要性。enterFrame事件在影片每次播放到影片剪辑所在帧时发生。如果主时间轴中只有一帧,且不论它是否在该帧停止,该帧中的影片剪辑都会不断触发enterFrame事件,且触发的频率与Flash影片的帧频一致。 影片剪辑事件的使用方法如下所示: onClipEvent (load) { var i = 0; } onClipEvent (enterFrame) { trace(i); i++; } 当影片剪辑的load事件发生时,将变量i设置为0。当影片剪辑的enterFrame事件发生时,向输出窗口中发送i的值,然后将i加1。输出窗口中会从0开始输出以1递增的数字序列,直到影片被关闭为止。 为了熟悉影片剪辑事件处理函数的用法,我们来为影片剪辑编写一段简单的脚本,使影片剪辑逆序播放,我们将从影片剪辑的最后一帧处开始播放,使用prevFrame命令使影片剪辑每次后退一帧。 本例文件场景中有一个影片剪辑元件rollmc,查看一下它的属性面板,并没有为其实例命名,这是因为我们要直接在影片剪辑的动作面板中添加脚本,并不需要用到实例名称。 选中影片剪辑rollmc,此时动作面板的标题栏中应为“动作-影片剪辑”。打开动作面板,其中添加了如下ActionScript: onClipEvent (load) { gotoAndStop(40); } onClipEvent (enterFrame) { prevFrame(); } 在事件处理函数onClipE

您可能关注的文档

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档