抱歉,如果这对其他人来说很明显,但我无法理解 ActionScript 3.0 中的某些内容(顺便说一句,巨大的 n00b)
我有这个控制速度的代码:
public function keyDownHandler(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.LEFT)
{
vx = -5;
}
else if (event.keyCode == Keyboard.RIGHT)
{
vx = 5;
}
else if (event.keyCode == Keyboard.UP)
{
vy = -5
}
else if (event.keyCode == Keyboard.DOWN)
{
vy = 5;
}
}
运行时,如果我同时按住 LEFT 和 UP,Sprite 会沿对角线移动,但是最后两个条件(Keyboard.UP 和 Keyboard.DOWN)是 elseif 的事实应该完全阻止它们被评估,不是吗?
有没有人能够阐明这种行为?