- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- Dealing With AIDS 大学英语精读 教学课件.ppt
- Deductive Research 大学论文写作课课件(英文).ppt
- denisi_HR_1e_PPTs_ch02 人力资源管理 外教 课件.ppt
- denisi_HR_1e_PPTs_ch01 人力资源管理 外教 课件.ppt
- denisi_HR_1e_PPTs_ch05 人力资源管理 外教 课件.ppt
- denisi_HR_1e_PPTs_ch06 人力资源管理 外教 课件.ppt
- denisi_HR_1e_PPTs_ch07 人力资源管理 外教 课件.ppt
- DES 信息安全概论课件与复习提纲.ppt
- Deutschland 德语教学课件.doc
- Dickinson 高等教育出版社 美国文学选读课件.ppt
- 全球智能音箱行业市场前景及投资研究报告-外文版培训课件2024.10.pdf
- 日本线上购物行为情况分析报告-外文版培训课件2024.10.pdf
- 日本政府情况分析报告-外文版培训课件2024.8,tiktok.pdf
- 日本外国直接投资情况分析报告-外文版培训课件2024.8,tiktok.pdf
- 瑞典就业情况分析报告-外文版培训课件2024.8,tiktok.pdf
- 南非商务旅客目标客户分析报告-外文版培训课件2024.10.pdf
- 日本电子商务行业市场前景及投资研究报告-外文版培训课件2024.10.pdf
- 全球中央银行行业市场前景及投资研究报告-外文版培训课件2024.10,temu.pdf
- 南非酒店住宿预订用户分析报告:Airbnb爱彼迎-外文版培训课件2024.7,temu.pdf
- 南非大选情况分析报告-外文版培训课件2024.8,tiktok.pdf
文档评论(0)