[]我在Layasample主类中,检测键盘按下并输出一切正常,可是放到其他类里面则能检测到按键按下,却一直输出undefined


var GameStart = (function (_super) {
    function GameStart() {
        GameStart.super(this);

        Laya.stage.on(Laya.Event.KEY_DOWN,LayaSample,Test);
    }
    function Test(e){
        console.log(e.keycode);
       
    }
 
按下按键后一直输出undefined,在入口类里面却能输出对应按键编号,是什么原因呢
 
已邀请:

Aar0n

赞同来自:

派发事件时若 Stage.focus 为空则只从 Stage 上派发该事件,否则将从 Stage.focus 对象开始一直冒泡派发该事件。所以在 Laya.stage 上监听键盘事件一定能够收到,如果在其他地方监听,则必须处在Stage.focus的冒泡链上才能收到该事件。

用户可以通过代码 Laya.stage.focus=someNode 的方式来设置focus对象。

用户可统一的根据事件对象中 e.keyCode 来判断按键类型,该属性兼容了不同浏览器的实现。

要回复问题请先

商务合作
商务合作