Taste auf Null setzten nach dem drücken [Flash 9]
| Beiträge: 6 Registriert: Jun 2011
| 04.06.2011, 13:13
Hallo Leute,
ich sitze gerade an einem Spiel, bei dem sich die Figur (schuh_neu) nur bewegen darf wenn ich immer wieder neu auf die Pfeiltasten drücke.
Im Moment bewegt sie sich noch, wenn ich permanent auf der Taste bleibe, aber das soll sie nicht.
Kann mir jemand helfen. Ist ein FH-Projekt, was ich bald abgeben muss.
Hier der Code (AktionScript 3)
//kein Mausklick für Anfang erforderlich
stage.focus = stage;
//Variablendeklaration und Initialisierung
//Versatzangabe als Integer
var xVersatz:int = 10;
var yVersatz:int = 10;
//Variablendeklaration und Initialisierung
//Versatzangabe als Integer
var x_richtung:int = 10;
var y_richtung:int = 10;
//Variable vereinbaren für einmaliges Drücken der Taste
var up:Boolean = false;
var down:Boolean = false;
//Startposition festlegen
schuh_neu.x = 50;
schuh_neu.y = 50;
//Überbereich Bühne
//Überwachungsaktion - Tastatur vorwärts
stage.addEventListener(KeyboardEvent.KEY_DOWN,vorwaerts);
//Funktionsaufbau für schuh vorwärts laufen
function vorwaerts(e:KeyboardEvent):void
{
//Taste nach oben
if (e.keyCode == Keyboard.UP)
{
schuh_neu.y -= yVersatz;
}
//Taste nach unten
if (e.keyCode == Keyboard.DOWN)
{
schuh_neu.y += yVersatz;
}
//Taste nach links
if (e.keyCode == Keyboard.LEFT)
{
schuh_neu.scaleX = schuh_neu.scaleX = -1;
schuh_neu.x -= x_richtung;
}
//Taste nach rechts
if (e.keyCode == Keyboard.RIGHT)
{
schuh_neu.scaleX = schuh_neu.scaleX = 1;
schuh_neu.x += x_richtung;
}
}
Also, was kann ich tun? | | | Beiträge: 186 Registriert: Jun 2009
| 04.06.2011, 13:41
hi,
eine möglichkeit wäre, den Listener nach dem keyDown-event zu entfernen und ihn nach keyUp wieder hinzuzufügen:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 | stage.addEventListener(KeyboardEvent.KEY_DOWN,vorwaerts);
stage.addEventListener(KeyboardEvent.KEY_UP,reInitKey);
//Funktionsaufbau für schuh vorwärts laufen
function vorwaerts(e:KeyboardEvent):void
{
stage.removeEventListener(KeyboardEvent.KEY_DOWN,vorwaerts);
....
}
function reInitKey(e:KeyboardEvent):void
stage.addEventListener(KeyboardEvent.KEY_DOWN,vorwaerts);
}
|
| | | Beiträge: 6 Registriert: Jun 2011
Themenautor/in
| 04.06.2011, 13:49
Wie geil, wie geil: funktioniert!!
DANKE | |
| Ähnliche Beiträge zum Thema | |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News
Regeln & Bedingungen
|