gpt4 book ai didi

javascript - 如何暂时禁用 Angular 色 Action MelonJS?

转载 作者:行者123 更新时间:2023-11-29 19:32:40 25 4
gpt4 key购买 nike

我正在使用 Melon.Js 开发游戏,并在加载游戏的 Canvas 下方创建一个聊天窗口。问题是,当我输入 时,如果我按下 AWDS 键, Angular 色就会移动。有谁知道如何暂时禁用(只要聊天窗口处于焦点状态) Angular 色移动?

“游戏.html”

<div ng-controller="ChatController">
<div class="div-chat">
<span ng-repeat="msj in chats | orderBy: 'createdAt'"> <b ng-class=""> {{msj.nick}} : </b> {{msj.mensaje}} <br></span>
</div>
<input class="form-control" type="text" ng-model="mensaje" id="msjChat">
<button type="submit" class="btn btn-default" id="btn_enviar" ng-click="envMsj()">Enviar</button>

“播放器.js”

me.input.preventDefault;
me.input.bindKey(me.input.KEY.LEFT, 'left', false,false);
me.input.bindKey(me.input.KEY.A, 'left', false,false);
me.input.bindKey(me.input.KEY.RIGHT, 'right', false,false);
me.input.bindKey(me.input.KEY.D, 'right', false,false);
me.input.bindKey(me.input.KEY.UP, 'up', false,false);
me.input.bindKey(me.input.KEY.W, 'up', false,false);
me.input.bindKey(me.input.KEY.DOWN, 'down', false,false);
me.input.bindKey(me.input.KEY.S, 'down', false,false);

我尝试在输入中使用“焦点”,但我无法禁用 MelonJS Canvas 中的移动

最佳答案

您可以使用 stopImmediatePropagation在您键入消息的输入文本中调用 keyUp 或 keyDown 事件时的方法。这将停止事件的传播,并且 keyUp 或 keyDown 事件永远不会到达 melonJS 监听器。

我让你使用 Angular 。您可以实现一个在元素上调用此方法的指令。这是示例代码。

在你的 javascript 中:

app.directive('chat', function () {
return {
restrict: 'A',
link: function (scope, elem, attrs) {
elem.bind('keydown', function (e) {
e.stopImmediatePropagation();
return false;
});
elem.bind('keyup', function (e) {
e.stopImmediatePropagation();
return true;
});
}
};
});

在 HTML 中:

<input chat class="form-control" type="text" ng-model="mensaje"  id="msjChat">

关于javascript - 如何暂时禁用 Angular 色 Action MelonJS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26685328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com