欢迎,我有一个问题。我想使用键盘控制对象移动。我看到的代码看起来像这样
function ruszajLe(){
$(document.body).on('keydown', function(x) {
switch (x.which) {
case 37:
czyLe = true;
facing = "LEWO";
console.log('left arrow key pressed!');
console.log('czyLe', czyLe, ' ', 'kierunek to ', facing);
break;
}
});
我还有一个看起来相同的keyup处理程序,但是将变量czyLe更改为false。
我有两个问题:
有没有办法从变量“czyLe”或“facing”读取值并将它们转移到另一个函数?
此代码是否异步执行?如果没有,我怎么能让它以那种方式执行?
干杯
小编辑
我想在函数内部读取我的变量值,但是console.log
没有显示任何消息:
function poruszanie(){
if (czyLe === true) {
console.log('porszanie dziala');
}
}
答案 0 :(得分:0)
请参阅以下上述两个问题的回答:
czyLe
和facing
变量,所以它们将被创建为全局变量。这意味着它们可以通过您想要获取这些值的任何其他键盘事件进行访问,对于想要访问这些值的任何其他逻辑也是如此。修改强>
我刚刚看到你更新了你的问题。问题是您的全局变量仅在触发keydown
事件时创建/更新。这里的修复是在ruszajLe
函数之外定义它们,所以将它们放在任何创建函数之外的Javascript顶部。
var czyLe = false;
var facing = "";
然后,您的函数将返回上面的默认值或从事件中设置的值。