【发布时间】:2015-05-16 01:31:18
【问题描述】:
我遇到了一个变量没有通过 ocanvas 函数传递的问题。似乎变量在函数内部发生了变化,但没有在函数外部发生变化。这是我的代码:
sonicSpeed2 = 0;
sonicState2 = 0;
canvas.bind("keypress", function () {
var keys = canvas.keyboard.getKeysDown();
var x;
sonicSpeed2 = 4;
for (x = keys.length; x > 0; x--) {
if (keys[x-1] == 16 && keys.length > 1) {
sonicSpeed2 = 15;
sonicState2 = 2;
}
if (keys[x-1] == 65) {
sonicState2 = 1;
sonicDirection2a = false;
}
if (keys[x-1] == 68) {
sonicState2 = 1;
sonicDirection2a = true;
}
if (keys[x-1] == 87) {
sonicState2 = 1;
sonicDirection2b = false;
}
if (keys[x-1] == 83) {
sonicState2 = 1;
sonicDirection2b = true;
}
}
});
if (sonicDirection2a == false) {
nullObject2.x -= sonicSpeed2;
}
else if (sonicDirection2a == true) {
nullObject2.x += sonicSpeed2;
}
if (sonicDirection2b == false) {
nullObject2.y -= sonicSpeed2;
}
else if (sonicDirection2b == true) {
nullObject2.y += sonicSpeed2;
}
【问题讨论】:
标签: javascript scope ocanvas