江西广告网
标题:
Flash游戏制作常用代码解析(5)
[打印本页]
作者:
知心白姐
时间:
2009-2-26 10:26
标题:
Flash游戏制作常用代码解析(5)
4.判断按键
既然是游戏,当然就要响应玩家的各种反应,除了鼠标,最直接的就是键盘了。响应键盘无非是判断玩家按下了哪一个键或者组合键,要实现这些其实很简单,我们既可以通过按钮或MC的事件来响应按键,也可以通过帧上的动作来响应,举例说明:
(1)按钮的keyPress方法:
先说按钮,按钮除了响应鼠标的一些动作(如:rollOver,release...)之外还有几个是响应固定按键的(如Enter,Left,Home,PageDown...),下面我们就来制作一个。建立一个按钮,拖到场景中,捆绑下面的AS: on (keyPress "") { trace("按下了Left键"); } 这样当我们在
测试
的环境下按下
左方向键
后,
output
窗口就会显示出"按下了Left键"。下面说说怎样使MC响应按键更复杂的按键。
(2)MC响应单个按键:
onClipEvent (keyDown) { if (Key.isDown(72)) { trace("按下了H键"); } } 这样在
测试
的环境下按下H键,output窗口就会显示出"按下了H键",其中72是H键的keyCode值(其他按键的keyCode值将在附录中给出),如果不知道某个键的keyCode值也没关系,Flash为我们提供了getCode函数,将上面
AS
中的72替换成Key.getCode("H")会得到同样的效果。
源代码下载
(3)MC响应组合键:
onClipEvent (keyDown) { if (Key.isDown(72) && Key.isDown(17)) { trace("您按下的组合键是Ctrl H"); } } 在
测试
的环境中按下Ctrl H键,output窗口就会显示出"您按下的组合键是Ctrl H"
(4)利用帧上的动作响应按键:
新建一个flash文件,利用上面讲过的:在第一帧写AS,第二帧创建内容帧的方法,使影片形成循环以便随时进行判断,然后在
第一帧
中写入下面的几组代码,分别进行试验;如果你使用的是MX,也可以不建立第二帧,而是用试验代码代替 _root.onEnterFrame=function(){...}中的"..."来达到同样的效果: //① trace(Key.getCode()); //② if (Key.isDown(72)) { trace("按下了H键"); } //③ if (Key.isDown(72) && Key.isDown(17)) { trace("按下了Ctrl H组合键"); } //④ if (Key.isDown(17)) { if (Key.isDown(72)) { temp = " H"; } if (Key.isDown(71)) { temp = " G"; } trace("按下了Ctrl" temp "键"); }
注:
对于MC的(2)(3)两种情况,可以将keyDown事件改为enterFrame事件,其中(2)还可以替换为keyUp事件.
附:键码值表
字母和数字键的键码值(keyCode)
按键键码按键键码按键键码按键键码 A 65J74S83149
欢迎光临 江西广告网 (http://bbs.jxadw.com/)
Powered by Discuz! X3.2