2016-04-09 7 views
-1

Ich bin sehr neu zu blinken und frage mich, warum der folgende Code nicht funktioniert, scheint alles an Ort und Stelle zu sein, aber ich bin sicher, dass Theres etwas offensichtlich fehlt. Jede mögliche Hilfe würdeEinfache Flash-As3 Anfänger Programmierung

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

Was versuchst du zu tun und was meinst du "wird nicht funktionieren"? –

+0

Für Anfänger: Code richtig einrücken. Es gibt einige offensichtliche Probleme mit Ihrem Code, wenn Sie versuchen, es ordnungsgemäß einzurücken. – Aaron

Antwort

3

Sie müssen geschätzt werden, dass ; am Ende der if(e.keyCode == Keyboard.RIGHT); Linie entfernen oder an eine Konsole ändern.

Es verursacht, dass Ihr Code immer rightPressed = true; setzt, da es nicht unter dem konditionellen Test ist.

Und Sie haben eine Klammer am Ende der Funktion verpasst.

Ich habe diesen Vorschlag nicht testen, aber mit diesem würde es so aussehen:

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"); 
} 
} 

oder einfach nur tun, um Ihren Code innerhalb des bedingten Test:

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); 

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

Hoffnung, die hilft;)

+0

Ja, das hilft viel, wie Sie sagen können, ich bin ein Newb danke! – Dan

Verwandte Themen