2016-04-09 126 views
-1

我是非常新的閃光和我想知道爲什麼下面的代碼不會工作似乎對我來說一切似乎都到位,但我敢肯定,明顯缺少的東西。任何幫助,將不勝感激簡單的flash as3初學者編程

var rightPressed:Boolean = false; 

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); 

function keyDownHandler(e:KeyboardEvent):void{ 
if(e.keyCode == Keyboard.RIGHT); 
rightPressed = true; 
}  
if(rightPressed){ 
    trace("right"); 
} 
+0

你想做什麼,你的意思是「不行」? –

+0

對於初學者:正確縮進你的代碼。如果您嘗試正確縮進,則代碼中存在一些明顯的問題。 – Aaron

回答

3

您需要刪除;在行if(e.keyCode == Keyboard.RIGHT);年底或將其更改爲一個支架。

這會導致您的代碼始終設置爲rightPressed = true;,因爲它不在條件測試下。

而你錯過了功能末尾的括號。

我沒有測試這個建議,但這個它應該是這樣的:

var rightPressed:Boolean = false; 

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); 

function keyDownHandler(e:KeyboardEvent):void{ 
if(e.keyCode == Keyboard.RIGHT){ 
    rightPressed = true; 
}  
if(rightPressed){ 
    trace("right"); 
} 
} 

或只是做條件測試裏面代碼:

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); 

function keyDownHandler(e:KeyboardEvent):void{ 
if(e.keyCode == Keyboard.RIGHT){ 
    trace("right"); 
}  
} 

希望幫助;)

+0

是的,你可以告訴我很多幫助,我是一個新手謝謝你! – Dan