Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-09-2004, 17:14   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 36
Question key.Listener hängt teilweise

Hi,

ich habe ein Problem, dass mich doch gelinde gesagt zur Verzweiflung treibt. Ich benutze einen Key.Listener, den ich so initialisiere:

Code:
myListener = new Object();
myListener.onKeyDown = function () {
  playerwanttox = playerx;
  playerwanttoy = playery;
  if (Key.isDown(38) || Key.isDown(104)) {
	  playerwanttoy--;
	  costfactor = 10;
  } else if (Key.isDown(33) || Key.isDown(105)) {
	  playerwanttox++;
	  playerwanttoy--;
	  costfactor = 14;
  } else if ....

  }
  else { trace (Key.getCode()); }
  // Hier wird dann noch viel mehr gemacht.
}
An einer späteren Stelle wird der aktiviert.


Grundsätzlich funktioniert auch alles... ABER:

Es ist möglich und sogar sehr wahrscheinlich, dass der User einen erneuten Aufruf der Funktion startet, obwohl die alte noch nicht abgearbeitet ist. Das ist in meinem Fall aber relativ tötlich für das Script.

Gibt es eine Möglichkeit, nur EINEN Key-Event zuzulassen, bzw. so lange diese Funktion läuft, den Key.Listener "pausieren" zu lassen?

Ich kann leider nicht im Hauptscript die removeListener-Methode verwenden... Der keyListener fungiert hier als regelrechter Interrupt...

Vielen Dank,
Sebezahn
sebezahn ist offline   Mit Zitat antworten
Alt 22-09-2004, 18:32   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Schalt doch eine Variable dazwischen, die false ist solange die Function läuft, true wenn die fertig ist!!
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 22-09-2004, 21:34   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 36
Hi,

hmm. stimmt. Dann muss ich zwar eine globale Variable definieren, um das Teil von überall aus steuern zu können, aber das sollte gehen.

Danke für den Gedankenanstoß!
Gruß
Sebezahn
sebezahn ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele