mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 12:13 Benutzername: Passwort: Auto-Login

Thema: Problem mit gedrückter Taste in AS3 vom 14.09.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> Problem mit gedrückter Taste in AS3
Autor Nachricht
Christophg
Threadersteller

Dabei seit: 14.09.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst So 14.09.2008 19:40
Titel

Problem mit gedrückter Taste in AS3

Antworten mit Zitat Zum Seitenanfang

Hallo!

Ich habe folgendes vor:
Ich möchte ein Spiel machen, wo ich eine Person mit den Pfeiltasten bewegen kann. Zur Zeit sieht das so aus:

Code:
stage.addEventListener(KeyboardEvent.KEY_DOWN, PressedKey);

function PressedKey(event:KeyboardEvent):void{
   var o:Object = getObjectByLoader(ICH);
   switch(event.keyCode){
      //Links
      case 37:
         moveSWF("links", o);
      break;
      
      //Oben
      case 38:
         moveSWF("oben", o);
      break;
      
      //Rechts
      case 39:
         moveSWF("rechts", o);
      break;
      
      //Unten
      case 40:
         moveSWF("unten", o);
      break;
   }
}


Das funcktioniert auch alles, nur möchte ich, dass auch bei gedrückter Pfeiltaste sich die Figur SOFORT bewegt. Also da ist immer diese Verzögerung drin, sobal ich eine taste drücke. Die Figur bewegt sich und dann muss ich einen Moment warten, bis sich die Figur flüssig bewegt. Kann man das irgendwie machen, dass er standartmäßig so reagiert, dass sie sofort als gedrückt erkannt wird?
Es liegt nicht daran, dass es erst evtl kurz bearbeitet werden muss, denn es ist ja eigentlich ganz normal (zum Beispiel in einem Textdokument), wenn man die Pfeiltaste drückt, dass es einen moment dauert, bis er direkt flüssig die einzelnen Tasteb beim Cursor "durchläuft".

Ich hoffe ihr versteht mein Problem und ich freue mich über die Antworten.
  View user's profile Private Nachricht senden
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst So 14.09.2008 20:22
Titel

Antworten mit Zitat Zum Seitenanfang

Was machen denn die anderen Methoden ?

Denn eigentlich reagiert der Listener ohne Verzögerung.

Nichtsdestotrotz, versuch doch mal, die "PressedKey"-Methode einfach bei EnterFrame zu feuern, mach den switch auf eine Variable die bei KeyDown zugewiesen und bei KeyUp null gesetzt wird.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
l'Audiophile

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst So 14.09.2008 21:33
Titel

Antworten mit Zitat Zum Seitenanfang

Das Kabel der Tastatur auf ca. einen halben Meter Länge kürzen, dann müsste es funktionieren. Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Janoe

Dabei seit: 08.03.2008
Ort: Hamburg
Alter: 32
Geschlecht: Männlich
Verfasst So 14.09.2008 21:34
Titel

Antworten mit Zitat Zum Seitenanfang

pejot hat geschrieben:
Das Kabel der Tastatur auf ca. einen halben Meter Länge kürzen, dann müsste es funktionieren. Lächel

* Ööhm... ja? *
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
l'Audiophile

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst So 14.09.2008 21:39
Titel

Antworten mit Zitat Zum Seitenanfang

Account for sale hat geschrieben:
pejot hat geschrieben:
Das Kabel der Tastatur auf ca. einen halben Meter Länge kürzen, dann müsste es funktionieren. Lächel

* Ööhm... ja? *


Was? Besseren Vorschlag?

Ein-Smileyposts sind hier übrigens nicht erwünscht. *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Christophg
Threadersteller

Dabei seit: 14.09.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst So 14.09.2008 22:53
Titel

Antworten mit Zitat Zum Seitenanfang

Nein, reagieren tut er ja. auch direkt. Ihr könnt es ja selbst mal ausprobieren, anstatt das moveSWF("oben", o); mal trace("xyz"); zu machen. Dann schreibt er ja auch nur ganz kurz einmal "xyz" hin, wartet einen kleinen Moment und erst dann in ganz schnellen Abständen.

Zitat:
Nichtsdestotrotz, versuch doch mal, die "PressedKey"-Methode einfach bei EnterFrame zu feuern, mach den switch auf eine Variable die bei KeyDown zugewiesen und bei KeyUp null gesetzt wird.


.. Ich will die Funktion doch nicht nur bei OnEnterFrame machen, sonder immer wenn die Taste gedrückt wurde...
  View user's profile Private Nachricht senden
l'Audiophile

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst So 14.09.2008 22:57
Titel

Antworten mit Zitat Zum Seitenanfang

Christophg hat geschrieben:
Nein, reagieren tut er ja. auch direkt. Ihr könnt es ja selbst mal ausprobieren, anstatt das moveSWF("oben", o); mal trace("xyz"); zu machen. Dann schreibt er ja auch nur ganz kurz einmal "xyz" hin, wartet einen kleinen Moment und erst dann in ganz schnellen Abständen.

Zitat:
Nichtsdestotrotz, versuch doch mal, die "PressedKey"-Methode einfach bei EnterFrame zu feuern, mach den switch auf eine Variable die bei KeyDown zugewiesen und bei KeyUp null gesetzt wird.


.. Ich will die Funktion doch nicht nur bei OnEnterFrame machen, sonder immer wenn die Taste gedrückt wurde...


Ja und deswegen darfst du deine Methoden nicht abhängig von der Framerate machen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Christophg
Threadersteller

Dabei seit: 14.09.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst So 14.09.2008 23:02
Titel

Antworten mit Zitat Zum Seitenanfang

pejot hat geschrieben:
Christophg hat geschrieben:
Nein, reagieren tut er ja. auch direkt. Ihr könnt es ja selbst mal ausprobieren, anstatt das moveSWF("oben", o); mal trace("xyz"); zu machen. Dann schreibt er ja auch nur ganz kurz einmal "xyz" hin, wartet einen kleinen Moment und erst dann in ganz schnellen Abständen.

Zitat:
Nichtsdestotrotz, versuch doch mal, die "PressedKey"-Methode einfach bei EnterFrame zu feuern, mach den switch auf eine Variable die bei KeyDown zugewiesen und bei KeyUp null gesetzt wird.


.. Ich will die Funktion doch nicht nur bei OnEnterFrame machen, sonder immer wenn die Taste gedrückt wurde...


Ja und deswegen darfst du deine Methoden nicht abhängig von der Framerate machen.


Die Framerate von dem SWF? Ich mache da doch gar nichts damit. Oder was meint ihr`? Könnt ihr mir ein direktes Beispiel einmal geben?
  View user's profile Private Nachricht senden
 
Ähnliche Themen Problem mit Umschalt-Taste und Input-Feld
PS: Wekzeugspitze per ctr+alt Taste…
TAB-Taste auf Flash-seite
Rückgängig-Taste in Indesign CS3?
Powerpoint - Effekt auf bestimmte Taste?
Alt taste aktiviert menüleiste ILLUSTRATOR CS5
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.