2015-01-04 67 views
0

我试图在Flash 8(动作2)中制作游戏。所以屏幕上有两个箭头。当你按下“向上箭头”(从键盘)一次,其中一个箭头将隐藏。当你第二次按下“向上箭头”时,另一个箭头会隐藏两个箭头。但是当我按下“向上箭头”时,两个箭头都会隐藏起来。有什么方法可以防止这种情况发生。ActionScript一次激活两个按钮

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”,因为如果点击一个或两个箭头,我会稍后使用它们。

回答

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。