Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-08-2004, 09:06   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 54
Problem mit Pfeiltasten und keyUp

Hallo Flashforum.de User,

Ich habe folgendes Problem:
In meinem Spiel, drückt man abwechselnd "links" und "rechts". Hält man beide Tasten gedrückt, wird durch die Tastenwiederholung, ein extrem schnelles wechseln der beiden Tasten möglich. Um das zu unterbinden, setze ich eine Variable auf true oder false, sobald eine der Tasten gedrückt wird. Beim Loslassen einer Taste, soll diese Taste wieder entsperrt werden. Da ich aber nicht beide Tasten im keyUp entsperren will, möchte ich wissen welche Taste gedrückt wurde. Ich benutze das onClipEvent(keyUp). Im keyDown kann ich die Taste so überprüfen if (Key.isDown(Key.RIGHT)) {}. Leider gibt es kein direktes Äquivalent für keyUp, das einzige was mir bekannt ist, ist Key.getCode. Da gibt es dann das Problem, das Pfeiltasten keinen Ascii-Code haben. Hat noch jemand eine Idee, wie ich testen kann welche Taste losgelassen wurde?

Danke im Voraus
MfG Benjamin
Benni@flash ist offline   Mit Zitat antworten
Alt 23-08-2004, 09:34   #2 (permalink)
... zaubern, das wärs !
 
Benutzerbild von d-signs
 
Registriert seit: Sep 2003
Ort: switzerland
Beiträge: 416
ich würde das so lösen

ActionScript:
  1. ...
  2.     if (Key.isDown(1left) && Key.isDown(rigt)) {
  3.              var sperre = true;
  4. }
  5. ...


gruz
__________________
d-signs - switzerland

freie Bilddatenbank: Klick
d-signs ist offline   Mit Zitat antworten
Alt 23-08-2004, 09:42   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 54
Das Problem ist nicht das Sperren der Tasten, sondern das entsperren. Ich habe inzwischen herausgefunden, das getCode garkeinen AsciiCode benutzt, sondern einen Macromedia Code (der übrigens im Director und in Flash anders ist, geradezu genial gelöst...). Auf dieser Seite kann man die Codes einsehen. Drüber steht zwar "die entsprechenden Ascii-Codes", das sind aber keine oder? Auf www.asciitable.com, sind die 37 und die 39, das ' und %, auf der MM-Seite sind es Pfeiltaste Links und Rechts. Naja is ja auch nicht so wichtig. Wieder zum entsperren. Ich möchte das die Taste entsperrt wird, sobald sie losgelassen wird, ausserdem muss ich zwischen Links und Rechts unterscheiden können. Bis jetzt habe ich das hier:
ActionScript:
  1. onClipEvent (keyUp) {
  2.     if (Key.getCode == 37) {
  3.         //_root.links = true;
  4.         trace("Links losgelassen");
  5.     } else if (Key.getCode == 39) {
  6.         //_root.rechts = true;
  7.         trace("Rechts losgelassen");
  8.     }
  9. }
Leider tut sich da garnichts.
Benni@flash ist offline   Mit Zitat antworten
Alt 23-08-2004, 12:11   #4 (permalink)
... zaubern, das wärs !
 
Benutzerbild von d-signs
 
Registriert seit: Sep 2003
Ort: switzerland
Beiträge: 416
machs mal so:
auf die hauptzeitleiste:
ActionScript:
  1. _root.onEnterFrame = function() {
  2.     if (Key.isDown(Key.LEFT)) {
  3.         //_root.links = true;
  4.         trace("Links losgelassen");
  5.     }
  6.     if (Key.isDown(Key.RIGHT)) {
  7.         //_root.rechts = true;
  8.         trace("Rechts losgelassen");
  9.     }
  10. };
__________________
d-signs - switzerland

freie Bilddatenbank: Klick
d-signs ist offline   Mit Zitat antworten
Alt 23-08-2004, 13:16   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Beiträge: 54
Hi
danke nochmal für die Antwort, aber ich brauche ja nicht das keyDown Ereignis sondern das keyUp. Aber ich habe jetzt eine Lösung gefunden:
ActionScript:
  1. onClipEvent (keyUp) {
  2.     if (Key.getCode() == 37) {
  3.         _root.links = 0;
  4.     } else if (Key.getCode() == 39) {
  5.         _root.rechts = 0;
  6.     }
  7. }

Es haben also eigentlich nur die () hinter getCode gefehlt.
Benni@flash ist offline   Mit Zitat antworten
Alt 23-08-2004, 16:31   #6 (permalink)
... zaubern, das wärs !
 
Benutzerbild von d-signs
 
Registriert seit: Sep 2003
Ort: switzerland
Beiträge: 416
...ja das war ja recht naheliegend.

man kriegt ja die lösung nicht immer auf dem silber tablett präsentiert
dafür ist der lerneffekt höher !

bei fragen, fragen !

gruss
__________________
d-signs - switzerland

freie Bilddatenbank: Klick
d-signs 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 04:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele