Flashhilfe.de - Flash Community

Taste auf Null setzten nach dem drücken [Flash 9]

 


AntwortenRegistrieren Seite1  

polli_2#1
Benutzerbild von polli_2
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?
Schlagwörter: false, null, tastatur, Taste, true
micB#2
Benutzerbild von micB
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);
}
polli_2#3
Benutzerbild von polli_2
Beiträge: 6
Registriert: Jun 2011

Themenautor/in

04.06.2011, 13:49

Wie geil, wie geil: funktioniert!!
DANKE

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Javascript new line [Flash CS5] 23.11.2020 - user01234
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de