Flash 动画的交互性是通过鼠标和键盘进行,前面的章节讲的都是鼠标控制,本节开始接触键盘控制,响应键盘的方法有几种,但归根结底可以用一句通俗的话概括,就是程序运行中,发现哪个键被按下了,并执行相应的动作,这里介绍的是通过判断获取的键控代码值来实现键盘控制,还是老套路,使用一个这样的实例,这是去年作的一个练习, 就叫距离产生美吧。
源文件下载
点击查看动画效果<实例2-9 键盘控制
基本思路
① 主场景中放置 2 个保持一定距离的 MC 。
②再放置一个空 MC 用来写脚本,当然,也可以写到前面的 MC 实例上,这样是便于阅读和理解脚本。
③按下↑↓←→键两个 MC 都向同方向运动,并始终保持固定的距离和前后关系,还要保持朝向和移动的方向的一致
④设定边线,不向线外运动。
⑤松开按键,两 MC 保持原始方向。
新知识点
复制代码
onClipEvent (keyDown);// 影片的事件处理函数。触发的是按下按键事件 。
onClipEvent (keyUp) ; // 触发的是松开按键事件 。
Key.getCode() // 获得键值。
本实例只用到了 4 个键值,但为全面了解,将一个别人所写最新教程的键控代码值和键常量表复制下来。

图 2 — 2 键控代码

图 2 — 3 键常量
实例说明
好象没什么需要说明,就是 QG 追 QM ,总也追不到。
编写动作脚本
①在空 MC 上输入:
复制代码
onClipEvent (keyDown) {// 按键事件触发
s = 1;
if (Key.getCode() == 37) {// 条件为获取的键值为“ 37 ” 即“ ←”的键值。
_root.qa.play();
_root.qb.play();
_root.qa._x -= s;
_root.qa._xscale = -_xscale;// 令MC“ qa ”水平翻转
_root.qb._xscale = _xscale;
_root.qb._x = _root.qa._x-80;// 令MC“ qb ”水平位置到“ qa ”左边
}
if (Key.getCode() == 39) {// 条件为获取的键值为“ 39 ” 即“ →”的键值。
_root.qa._xscale = _xscale;
_root.qa.play();
_root.qb.play();
_root.qa._x += s;
_root.qb._xscale = -_xscale; // 令MC“ qb ”水平翻转
_root.qb._x = _root.qa._x+80; 令MC“ qb ”水平位置到“ qa ”右边










