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

Flash动画制作
Flash卡通景物绘制
鼠绘偏写实人物
鼠绘--柱顶红的画法
FLASH实现滚动条+网页书签效果
Flash MX中Button Object的用法
as入门之数学函数--弧度
as入门之数学函数--Math类
闪动的变色圆盘
组件封装为mxp文件的方法
判断数字大小
Flash 缓存问题的解决
Flash MX pro 2004 新特性之Flash Lite
在Flah MX2004的ListBox中应用HTML
Flash MX 2004中的XML应用之原理篇
Flash MX 2004视频教程超速入门系列(1)
Flash MX 2004视频教程超速入门系列(2)
Flash MX 2004视频教程超速入门系列(3)
Flash MX 2004视频教程超速入门系列(4)
Flash MX 2004视频教程超速入门系列(5)
Flash MX 2004视频教程超速入门系列(6)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 62 ::
收藏到网摘: 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