2016-04-09 89 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