【问题标题】:ActionScript is activating two buttons at onceActionScript 正在同时激活两个按钮
【发布时间】:2015-03-01 21:59:56
【问题描述】:

我正在尝试在 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”,因为我稍后会在单击一个或两个箭头时使用它们。

【问题讨论】:

    标签: flash actionscript actionscript-2 flash-8


    【解决方案1】:

    如果你想让多个箭头 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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-14
      • 2012-02-19
      相关资源
      最近更新 更多