使用QWER键跳转到AS3中的特定场景

时间:2014-05-15 06:09:48

标签: actionscript-3 flash scene

TLDR:我需要动作脚本3中的代码,让用户按下像QWER这样的按键跳转到特定的场景。

所以我正在做的是在flash中创建和交互式漫画,并且直言不讳我在此之前并不知道任何AS3代码,但仍然几乎不知道。

所以我在这个上需要一些帮助,我认为值得一提的是我在这个项目中使用了声音。

我需要知道的是如何使用字母键(例如QWER)充当短片切换以跳转到特定场景。我到目前为止工作的是这个和另一个使用鼠标点击的版本。

stop(); ( 1 ) 


stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler);


function fl_KeyboardDownHandler(event:KeyboardEvent):void {



          gotoAndPlay(currentFrame+1);

}

当然所有这一切都是推进框架,我确实需要一些对话部分,但这是我一直试图让它发挥作用的基础。

我知道q = 81,w = 87,e = 69,r = 82。

除此之外,我什么都没有,我需要一些真正糟糕的帮助。

2 个答案:

答案 0 :(得分:1)

您需要检查已按下哪个键,您可以这样做:

function fl_KeyboardDownHandler(event:KeyboardEvent):void {
 if(event.keyCode == Keyboard.Q){
     //do what you need to do when Q was pressed
 }else if(event.keyCode == Keyboard.W){
     //same for W
 }

 ...etc
}

答案 1 :(得分:1)

KeyboardEvent 实例包含有关事件本身的数据,其中一部分是 keyCode ,它提供了按下的键的代码。使用此属性,您可以检测用户按下的键,并做出相应的反应。

如您所知,您可以使用 gotoAndPlay() gotoAndStop()来移动动画。

它为我们提供了以下代码:

stop();
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler);

function fl_KeyboardDownHandler(event:KeyboardEvent):void {
  if(event.keyCode == Keyboard.Q) {
    gotoAndPlay(1); // Back to the start
  } else if (event.keyCode == Keyboard.W) {
    gotoAndPlay(currentFrame-1); // Back one frame
  } else if (event.keyCode == Keyboard.E) {
    gotoAndPlay(currentFrame-1); // Forward one frame
  } else if (event.keyCode == Keyboard.R) {
    gotoAndPlay(100); // Go to 100th frame
  }
}

请注意,我使用 Keyboard 类来获取与特定键关联的keyCode。