Flash 动画的交互性是通过鼠标和键盘进行,前面的章节讲的都是鼠标控制,本节开始接触键盘控制,响应键盘的方法有几种,但归根结底可以用一句通俗的话概括,就是程序运行中,发现哪个键被按下了,并执行相应的动作,这里介绍的是通过判断获取的键控代码值来实现键盘控制,还是老套路,使用一个这样的实例,这是去年作的一个练习, 就叫距离产生美吧。
源文件下载
点击查看动画效果<实例2-9 键盘控制
基本思路
① 主场景中放置 2 个保持一定距离的 MC 。
②再放置一个空 MC 用来写脚本,当然,也可以写到前面的 MC 实例上,这样是便于阅读和理解脚本。
③按下↑↓←→键两个 MC 都向同方向运动,并始终保持固定的距离和前后关系,还要保持朝向和移动的方向的一致
④设定边线,不向线外运动。
⑤松开按键,两 MC 保持原始方向。
新知识点
onClipEvent (keyDown);// 影片的事件处理函数。触发的是按下按键事件 。
onClipEvent (keyUp) ; // 触发的是松开按键事件 。
Key.getCode() // 获得键值。
本实例只用到了 4 个键值,但为全面了解,将一个别人所写最新教程的键控代码值和键常量表复制下来。
图 2 — 2 键控代码
图 2 — 3 键常量
实例说明
好象没什么需要说明,就是 QG 追 QM ,总也追不到。
编写动作脚本
①在空 MC 上输入:
要点分析
① Key.getCode() == 37 可以写成 Key.getCode() == Key.LEFT ,“ Key.LEFT ”是与左箭头键的键控代码值 (37) 关联的常量,初学或需给别人看,用这样方式写好,直观明了,而直接用键值写能省点劲,我是那里省力写 这里费力说。
②这里 onClipEvent (keyDown) 结合 Key.getCode() == () 的脚本,事件触发是主体,而获取键值只是确定该有啥动作的的条件,不要以为 if (Key.getCode() == 37) { _root.qa.play(); }就可以有 _root.qa.play(); 的动作。
小结
响应键盘是游戏和课件中普遍应用的,什么物体运动呀 飞行呀,开炮放枪的,都需要键盘来实现人机交互, 根据学习进度的要求,本节只介绍了通过MC的按键事件触发和键值捕获的方法来实现键盘控制,也是比较简单实用的方法,咱们是不用招法多,好用就中。
课后练习
大改源文件,让一个Q满场乱跑,另一个Q由键盘控制去追,追上之后出现一个新画面,提示:没准辙的瞎跑当然要用随机函数,追上的语句就用我们学过的知识 用X.Y坐标值的差来判断, MC 的碰撞方法或碰撞检测的组件大家还没学 , 我也不会。范例效果:
点击查看动画效果<练习2-9
源文件
查看全套"Flash AS 实例进阶教程"
IT时代网(关注微信公众号ITtime2000,定时推送,互动有福利惊喜)所有原创文章版权所有,未经授权,转载必究。
创客100创投基金成立于2015年,直通硅谷,专注于TMT领域早期项目投资。LP均来自政府、互联网IT、传媒知名企业和个人。创客100创投基金对IT、通信、互联网、IP等有着自己独特眼光和丰富的资源。决策快、投资快是创客100基金最显著的特点。
小何
小何
小何
小何