当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash游戏制作常用代码解析(5)

Flash动画制作
Flash教程:纯AS编写蝌蚪摆尾动画效果
Flash鼠绘新手入门第一课:认识鼠绘
Flash教程:打造月夜下飞翔的蝙蝠动画
Flash教程:制作可爱吹泡泡动画效果
Flash教程:打造仿奥运开幕式卷轴动画效果
Flash基础教程:制作鼠标跟随星星动画
Flash教程:制作淡雅动态网页菜单:蜻蜓飞飞动画效果
Flash鼠绘教程:绘制写真苹果的方法
Flash新手入门教程:AS2代码制作鼠标跟随龙舟效果
Flash鼠绘教程:绘制清新可口的芒果
Flash鼠绘教程:教你绘制一盘逼真的水仙花
Flash鼠绘教程:临摹徐悲鸿的骏马图
Flash鼠绘教程:绘制香甜可口的香瓜
Flash新手入门教程:鼠标跟随漂亮光圈特效
Flash新手入门教程:打造鱼缸中游动的鱼动画效果
Flash新手入门教程:AS代码制作五彩缤纷旋转效果
Flash鼠绘教程:打造唯美渔舟唱晚效果
Flash教程:打造鼠标跟随羽毛扇动画效果
Flash新手入门教程:AS代码实现鼠标跟随文字特效
Flash新手入门教程:AS代码实现神奇叠层效果

Flash动画制作 中的 Flash游戏制作常用代码解析(5)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 42 ::
收藏到网摘: n/a

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键",其中72H键的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