| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Gast
Beiträge: n/a
| Keylistener Mac OS & Windows inkompatibel
Hi zusammen, ich baue gerade an einem Spiel in Flash. Inhalt ist einfach ein kleiner trashy Charakter, den man mittels Pfeiltasten in alle 4 Richtungen steuern kann und beim Drücken von Space einen Schlag ausführt. Ich arbeite selbst mit Mac OS X 10.3.4 und einer Protastatur, nutze zum Testen den Apple Browser Safari der aktuellsten Version. Mein Problem besteht darin, das irgendwie die Tasten zb unter Safari Mac einwandfrei funktionieren, unter Firefox hingegen wieder nicht. Unter Windows funktioniert es zb gar nicht. Woran liegt das? Ich habe hier mal meinen Codesnip, der sich um die Steuerung kümmert… Den gleichen Listener benutze ich übrigens auch auf der Mainpage… dort war ursprünglich die ESCape Taste zum Auslösen einer Aktion vorgesehen… funktionierte aber nicht unter Windows. Die Space Taste hingegen ist plattformunabhängig, wie mir scheint. PHP-Code: Meine zweite Frage wäre, ob ich in einem Keylistener zb auch eine Tastenkombination bestimmen kann. Z.b. für eine diagonale Bewegung. Triggered werden sollte dann zb nur bei Pfeil-Oben und Pfeil Rechts in Kombination. Oder wenn man Space für den Schlag drückt und dabei eine Richtungstaste ebenfalls gedrückt hält, eine bestimmte Aktion aufruft. Geht so etwas? Liebe Grüße Yves |
|
| | #2 (permalink) |
| a.k.a maddin79 Registriert seit: Jul 2003 Ort: berlin f-hain
Beiträge: 1.693
|
nimm doch einfach nur einen keyListener für alle tasten anstatt so viele, und eine tastenkombination kann man auch einfach abfragen. PHP-Code: |
| | |
| | #3 (permalink) |
| Gast
Beiträge: n/a
|
Hi, vielen Dank für deine Verbesserungsvorschläge. Das Löschen von Objekten & co hab ich mir irgendwie angewöhnt, muss hier natürlich nicht, das es ja quasi ein hin- und her ist. Weisst du auch etwas über mein „Kompatibilitätsproblem“? Liebe Grüße Yves |
|
| | #6 (permalink) |
| Neuer User Registriert seit: Nov 2007
Beiträge: 56
| mac-win problem
hi, habe leider keine antwort auf dein problem, stattdessen komm ich mit einem neuen problem daher: passte verhältnismäßig gut in den thread, allerdings umgekehrt. arbeite unter windows, das vorneweg. habe einen kreisel erstellt, der sich bewegen und rotieren soll. entsprechend der tastendrücke. spriche wenn ich die linke pfeiltaste drücke soll er nach links laufen bis ich sie los lasse. drücke ich w oder s soll er sich um seine x-achse drehen und zwar so lange bis ich diese los lasse. soweit klappt das auch, allerdings nur bei unix und win systemen. beim mac kann man die entsprechenden tasten bis zum sant nimmerlandstag gedrückt halten und es wird nichts passieren. jeder erneute druck erzeugt ein wenig rotation. hier die entsprechende implementierung: Code: var keyListener:Object = new Object();
this.onEnterFrame = function(){
if(Key.isDown(Key.UP))cam1.y += 5;
if(Key.isDown(Key.DOWN))cam1.y -= 5;
if(Key.isDown(Key.LEFT)) cam1.x +=5;
if(Key.isDown(Key.RIGHT)) cam1.x -=5;
//Rotation
keyListener.onKeyDown = function() {
if (Key.getCode() == 83){
setRotX(rotX, g/100);
g+= 5;
}
if (Key.getCode() == 87){
setRotX(rotX, g/100);
g-= 5;
}
if (Key.getCode() == 65){
setRotY(rotY, f/100);
f+= 5;
}
if (Key.getCode() == 68){
setRotY(rotY, f/100);
f-= 5;
}
if (Key.getCode() == 81){
setRotZ(rotZ, h/100);
h-= 5;
}
if (Key.getCode() == 69){
setRotZ(rotZ, h/100);
h+= 5;
}
if (Key.getCode() == 84){
cam1.z +=5;
}
if (Key.getCode() == 90){
cam1.z -= 5;
}
}
Key.addListener(keyListener);
} |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Nov 2007
Beiträge: 56
|
geht es hier denn auch? fall snciht, könnte ich den fehler schon etwas eingrenzen. http://swiged.no-ip.org/apache2-default/vertices.html |
| | |
| | #13 (permalink) |
| Der Wunderhund Registriert seit: Jun 2002 Ort: Hattingen
Beiträge: 10.515
|
Ich würde es genau umgekehrt machen, also den onEnterFrame in den onKeyDown und bei onKeyUp würde ich den onEnterFrame wieder löschen (oder zumindest irgendwie deaktiveren). So definierst Du ja den onKeyDown immer wieder neu. gruß, gaspode |
| | |
| | #15 (permalink) |
| Neuer User Registriert seit: Nov 2002
Beiträge: 7
| Steuerung mit Pfeiltasten funktioniert nicht im Firefox
Hallo, in meinem Film funktioniert die Steuerung mit den Pfeiltasten nur im IE, nicht aber im FF. Habe gehofft in den vorherigen Diskussionen eine Antwort auf die Frage zu bekommen, aber leider wurden sie nicht bis zum Ende weiter geführt, bzw. es gab noch keine Lösung. Gibt es mittlerweile eigentlich neue Erkenntnisse? Die Steuerung ist glaube ich sehr einfach: with(_root.figur){ if(Key.isDown(Key.DOWN)){ _y+=1; } else if(Key.isDown(Key.UP)){ _y-=1; } else if(Key.isDown(Key.RIGHT)){ _x+=1; } else if(Key.isDown(Key.LEFT)){ _x-=1; } Wäre toll. Vielen Dank schonmal! Jutta |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |