当你按键时会怎样才能做到这一点

时间:2016-11-30 05:59:42

标签: javascript

你好我是java脚本的新手,所以我有点不知道它还没有特定的新手。 即时通讯使用名为rpgboss的引擎,它使用javascript。

我不知道这里是否有人见过/使用它是具体的。

我试图在游戏中创建此功能,当你按下一个叫做龙的npc [一个可以理解的装载]

将来到玩家[或由它]但我只走这么远。

"键" :" w"

" on_keydown" :是的

我在一个网站上发现了这个,而不是真的它有功能()我不知道如何完成它。因为jpg在rpgboss上可能略有不同

编辑:没想到会有这么多拇指向下的问题吗? EDIT2:抱歉我猜到我对新手的事情太过分了......我想我只是诚实......抱歉。

1 个答案:

答案 0 :(得分:0)

编辑:对不起,我刚刚意识到我的答案是针对通用javascript。我不确定这与rpgboss有什么关系。我看过他们的文档,我猜他们还在研究它们。我建议你在rpgboss论坛上提问   http://rpgboss.forumatic.com

您需要为龙或窗口添加一个键监听器。然后告诉关键监听器在按下不同的键时要做什么。 你可以在这里找到不同键的键码:http://keycode.info - W的代码是87。

你也需要确保它不会在龙不能来的时候运行 - 就像在切割场景中,或者龙不在那里的那一章。

你有一些设计决定。将事件侦听器添加到窗口,并仅在准备好时激活龙。另一个选项是在准备就绪时将监听器添加到龙中,并在监听器死亡/无法进入/等时删除监听器。

when dragon is created{
  dragon.addEventListener("keypress", keyPressedListener);
}


when dragon dies/inactive{
  dragon.removeEventListener("keypress", keyPressedListener);
}

keyPressedListener(e) {
   let key = e.keyCode ? e.keyCode : e.which;
   if(key == 87){
      dragon.goToPlayer();
   }
}

或另一种选择:

window.addEventListener("keypress", keyPressedListener);

keyPressedListener(e) {
    let key = e.keyCode ? e.keyCode : e.which;
    if(key == 87){
      if(isDragonReady(){
        dragon.goToPlayer();
      }
    }
}

你需要确保在没有龙对象时不要给龙打电话。

我希望这有用。