0

我正在尝试在 Flash 8 (actionscript 2) 中制作游戏。所以屏幕上有两个箭头。当您按一次“向上箭头”(从键盘)时,其中一个箭头将隐藏。当您第二次按“向上箭头”时,另一个箭头将隐藏两个。但是当我按“向上箭头”时,我的代码两个箭头都隐藏了。有什么办法可以防止这种情况发生。

var x;
var y;
var myListener:Object = new Object();
function onKeyDown() {
    if (Key.isDown(Key.UP)) {
        x = 1;
        btn1._visible = false;
        Key.removeListener(this);
    }
    Key.addListener(this);
    if (Key.isDown(Key.UP)) {
        y = 1;
        btn2._visible = false;
        Key.removeListener(this);
    }
}
Key.addListener(this);

有“x”和“y”,因为如果单击一个或两个箭头,我稍后会使用它们。

4

1 回答 1

0

如果你想让几个箭头 btn1, btn2... 一个接一个地消失,你可以这样做:

var a:Array = [btn1, btn2];
var l:Number = a.length;
var n:Number = 0;

var keyListener:Object = new Object();

keyListener.onKeyDown = function():Void {
    if (Key.getCode() == Key.UP && n < l) {
        a[n]._visible = false;
        n++;
    }
}
Key.addListener(keyListener);

评论

如果第一个箭头不可见,则变量xy替换n为 1,如果第二个箭头也不可见,则替换为 2。

于 2015-01-04T06:35:45.740 回答