- 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年江西省鹰潭市企业人力资源管理师之一级人力资源管理师考试真题附答案(研优卷).docx
- 2024年江西省萍乡市企业人力资源管理师之四级人力资源管理师考试完整题库附答案(突破训练).docx
- 2024年江苏省苏州市企业人力资源管理师之一级人力资源管理师考试通用题库【黄金题型】.docx
- 2024年江西省上饶市企业人力资源管理师之四级人力资源管理师考试王牌题库附参考答案(培优A卷).docx
- 2024年江苏省南京市企业人力资源管理师之一级人力资源管理师考试题库大全含答案(完整版).docx
- 2024年江苏省连云港市企业人力资源管理师之一级人力资源管理师考试题库【综合卷】.docx
- 2024年河北省保定市企业人力资源管理师之一级人力资源管理师考试附答案【A卷】.docx
- 2024年检察院个人年度工作总结模板(2篇).pdf
- 2024年江苏省常州市企业人力资源管理师之一级人力资源管理师考试内部题库精品(夺分金卷).docx
- 2024年河北省保定市企业人力资源管理师之四级人力资源管理师考试精选题库AB卷.docx
最近下载
- 《GB∕T 27914-2023 风险管理 法律风险管理指南》解读和应用指导材料(雷泽佳编写2024A0-PDF).pdf
- 高考语文专项复习标点符号.ppt VIP
- 2024三上科学知识点期末复习资料.pdf VIP
- 成人经鼻高流量湿化氧疗(HFNC)理论知识考试题及答案.doc
- 2024上海中考英语试题及答案.doc VIP
- 高边坡专项施工方案.doc VIP
- 北京邮电大学《数字信号处理》门爱东-DSP03-离散傅里叶变换及其快速计算方法.ppt VIP
- 2024上海中考语文卷.docx VIP
- 《新托福考试专项进阶——初级写作》教育.pdf
- 《小学语文第一学段多文本阅读议题确立的策略研究》课题研究方案.doc
文档评论(0)