• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > Spielkonzepte und Spieleprogrammierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-03-2010, 19:45   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 30
[cs4-as2] probleme mit keylistener

Hi,
Ich bastel gerade einen simplen 2d flugzeug game und hab volgendes problem:
Ich verwende ein keylistner objekt für die rechts links animation des flugzeuges (es neigt sich, dafür hab ich eigene bilder), aber nach kurzer zeit gedrückthalten, fängt die onKeyDown function wieder von neuem an, kann man das unterbinden, oder gibt es eine bessere methode für meine function?
(wenn ich eine andere taste drück, kurz nachdem ich rechts oder links gedrückt halte, führt er die function nicht nochmal neu aus)


bitte um hilfe
danke im voraus


keylistener = new Object();
keylistener.onKeyDown = function() {
if (Key.getCode() == Key.RIGHT)
plane.gotoAndPlay(21);
else if (Key.getCode() == Key.LEFT)
plane.gotoAndPlay(2);
}

Key.addListener(keylistener);

keylistener.onKeyUp = function() {
if (Key.getCode() == Key.RIGHT)
plane.gotoAndPlay(30);
if (Key.getCode() == Key.LEFT)
plane.gotoAndPlay(11);
}
Key.addListener(keylistener);
-gentleman ist offline   Mit Zitat antworten
Alt 11-03-2010, 21:19   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Wieso zwei Listenerfunktionen? Da reicht doch normalerweise eine....
  Mit Zitat antworten
Alt 11-03-2010, 22:30   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 30
na einmal onKeyDown und einmal onKeyUP
oder meinst du die: Key.addListener(keylistener) ?
-gentleman ist offline   Mit Zitat antworten
Alt 11-03-2010, 23:29   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
PHP-Code:
keylistener = new Object();

keylistener.onKeyDown = function() {
   if (
Key.getCode() == Key.RIGHT)
      
plane.gotoAndPlay(21);
   else if (
Key.getCode() == Key.LEFT)
      
plane.gotoAndPlay(2);
}

keylistener.onKeyUp = function() {
   if (
Key.getCode() == Key.RIGHT)
      
plane.gotoAndPlay(30);
   if (
Key.getCode() == Key.LEFT)
      
plane.gotoAndPlay(11);
}

Key.addListener(keylistener); //einer reicht! 
  Mit Zitat antworten
Alt 12-03-2010, 15:08   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 30
ah, ok, danke

...bleibt nur noch die frage, wiso das script bei gedrückter taste mehrmals ausgeführt wird, (also jede frame denk ich)
-gentleman 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
keyListener Frage sol1x Flash Einsteiger 2 05-10-2008 18:59
KeyListener macht Probleme (Linux/Opera) Geheimrat Flash 8 0 25-10-2006 15:24
Keylistener Probleme wunna Flash MX 2004 1 14-12-2005 16:44
unescape + keylistener projecktx Flash MX 2004 5 26-04-2005 21:13


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele