Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-10-2006, 17:16   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
tastendruck einlesen

hey
hab ein kleines Problem und zwar will ich nacheinander von verschiedenen spielern die tasten für links und rechts einlesen sobald die variable spieleranzahl einen wert größer als null hat.
hier ist jetzt mein code den ich dazu geschrieben hab aber ich schaff es nicht dass der tastendruck eingelsesen wird.
PHP-Code:
stop();
1;
tastelinks false;
tasterechts true;
out false;
onEnterFrame = function () {
    if (
spieleranzahl>0) {
        if (
tastelinks == false) {
            if (
spieleranzahl>u) {
                
ausgabetext "spieler"+u+"bitte drücken sie links";
                if (
out == false) {
                    
out true;
                    
onKeyUp = function () {
                        
                        
_root["playerlinks"+u] = Key.getCode();
                        
tastelinks true;
                        
tasterechts false;
                        
out false;
                        
delete this.onKeyUp;
                    };
                }
            }
        }
        if (
tasterechts == false) {
            if (
spieleranzahl>u) {
                
ausgabetext "spieler"+u+"bitte drücken sie rechts";
                if (
out == false) {
                    
out true;
                    
onKeyUp = function () {
                        
                        
_root["playerrechts"+u] = Key.getCode();
                        
tasterechts true;
                        
out false;
                        
delete this.onKeyUp;
                    };
                }
            }
        if (
tasterechts == true && tastelinks == true) {
            
u++;
            
tastelinks false;
            
tasterechts true;
        }
    }
}; 
was hab ich den da falsch gemacht?

mfg jochi

Geändert von Jochi (19-10-2006 um 17:18 Uhr)
Jochi ist offline   Mit Zitat antworten
Alt 19-10-2006, 17:21   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Für Tastaturabfragen solltest du einen Key-Listener nutzen, bspw.:
PHP-Code:
keyListener = new Object();
keyListener.onKeyDown = function(){
   if (
Key.getCode() == Key.LEFT) {
      
trace("nach links gedrückt");
   }
   else if (
Key.getCode() == Key.RIGHT) { 
    
trace("nach rechts gedrückt");        
   }
}
Key.addListener(keyListener); 
  Mit Zitat antworten
Alt 19-10-2006, 18:26   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
naja das will ich ja eig nicht
also hab mir das do vorgestellt, dass es ein paar spieler gibt und am anfang wird player eins aufgefordert eine taste für links zu drücken und dann eine für rechts und dann player 2 und so weiter.und wenn alle spieler ihre tasten haben dann soll das eig spiel losgehen nur funktioniert bei mir a irgendwas mit der abfrage nicht aber irgendiw ekomm ich nicht drauf was da flasch sein könnte
Jochi ist offline   Mit Zitat antworten
Alt 20-10-2006, 05:04   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ach so, die Tastenzuweisung soll erst zur Laufzeit dynamisch erfolgen. Dann solltest du den vom Spieler eingegebenen Tastaturcode in einer Variablen merken. Aber nicht so:
PHP-Code:
_root["playerlinks"+u] = Key.getCode(); 
Was soll denn _root["playerlinks"+u] für ein Objekttyp sein?
  Mit Zitat antworten
Alt 20-10-2006, 09:39   #5 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
wie @agedoubleju schreibt mit einem listener ist es natürlich besser
wie in onenterframe
hier mal ganz simpel
ActionScript:
  1. spielerTaste=[1,1,2,2]
  2. wert=0
  3. anzahlSpieler=2
  4. eingabeListener = new Object();
  5. eingabeListener.onKeyDown = function(){
  6.     if(wert/2!=anzahlSpieler){
  7.    spielerTaste[wert++]=Key.getCode()
  8.     }
  9. }
  10. Key.addListener(eingabeListener);
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 20-10-2006, 20:32   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
hmmm danke jetzt funktioniert es hab da aber einmal eine andere Frage was ist eigentlich der Vorteil wenn man einen listener verwendet und wann sollte man ihn verwenden?
Jochi ist offline   Mit Zitat antworten
Alt 21-10-2006, 02:48   #7 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Listener lassen sich mehreren Objekten zuordnen. Und ein Objekt kann mehrere Listener haben.

Schau es dir mal in die Flash-Hilfe unter "Ereignis-Listener verwenden" genauer an.
  Mit Zitat antworten
Alt 21-10-2006, 11:16   #8 (permalink)
Neuer User
 
Registriert seit: Aug 2004
Beiträge: 368
ja aber ich meine sind die schneller?
oder brauchen die weniger performance?
Jochi ist offline   Mit Zitat antworten
Alt 21-10-2006, 11:18   #9 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Das Letzere...
  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 09:45 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele