+ Antworten
Ergebnis 1 bis 9 von 9

Thema: Warten auf Tastendruck mit Key.isDown

  1. #1
    TP-Member medieninf macht alles soweit korrekt
    Registriert seit
    Mar 2006
    Beiträge
    93

    Warten auf Tastendruck mit Key.isDown

    Hi,

    mit if(Key.isDown(23)) kann ich ja prüfen, ob die Leertaste gedrück ist. Nun habe ich aber Text in ein Textfeld geschrieben und will erst weitere Aktionen machen, wenn die Leertaste gedrückt wurde.

    Code:
    // Meine Anweisungen vorher
    // Warte auf Tastendruck
    while(!Key.isDown(23)) { } 
    // Meine Anweisungen nachher
    funktioniert natürlich nicht, da eine Endlosschleife entsteht. Wie kann ich das Problem lösen?

  2. #2
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    Ungetestet:
    PHP-Code:
    function check_key(){
      if(
    Key.isDown(23)){
        
    clearInterval(a);
        
    play();
      }  
    }
    a=setInterval(check_key,500); 
    stop(); 
    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  3. #3
    TP-Moderator Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Avatar von Wanderratte
    Registriert seit
    Mar 2002
    Beiträge
    5.487
    oder mit einem Listener
    PHP-Code:
    var myListener:Object = new Object();
    myListener.onKeyDown = function() {
        if (
    Key.isDown(32)) {
            
    trace("leertaste wurde gedrückt");
        }
    };
    Key.addListener(myListener); 
    Übrigens ist der Ascii-Code 32 für die leertaste
    Gruß

    Wanderratte
    Gebildet ist,
    wer weiß,
    wo er findet,
    was er nicht weiß.

    4bugs
    Home
    Amazon Wunschzettel

  4. #4
    TP-Member medieninf macht alles soweit korrekt
    Registriert seit
    Mar 2006
    Beiträge
    93
    Hi,

    hmm. Ich will ja, das die Abarbeitung des Codes in dem aktuellen Frame nicht fortgesetzt wird, bis die Leertaste gedrückt wurde. stop(); hält doch nur den Film auf den aktuellen Frame an. Gibt es keine Möglichkeit die Codeabarbeitung anzuhalten und dann wieder fortzusetzen?

  5. #5
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    Dann schreib den gewünschten Code in eine function und die rufst du dann mit Hilfe des Listeners auf.
    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  6. #6
    TP-Moderator Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Wanderratte lebt für das TP und seine User Avatar von Wanderratte
    Registriert seit
    Mar 2002
    Beiträge
    5.487
    und wo ist jetzt das Problem ?
    Du schreibst eine Funktion, wo dein ganzer Code drin ist der nicht abgearbeitet werden soll bis die Leertaste gedrückt wurde und rufst dann diese Funktion auf.
    Gruß

    Wanderratte
    Gebildet ist,
    wer weiß,
    wo er findet,
    was er nicht weiß.

    4bugs
    Home
    Amazon Wunschzettel

  7. #7
    TP-Member medieninf macht alles soweit korrekt
    Registriert seit
    Mar 2006
    Beiträge
    93

    ...

    Hmm,

    O.K., das geht. Wenn man diese Funktionalität aber häufiger brauchen würde, müsste ich die Funktion immer ändern bzw. eine neue erstellen, mit den Codeblöcken die abgearbeitet werden sollen.

    Mir wäre es lieber gewesen, wenn ich die Ausführung des Script anhalten und fortsetzen könnte... Aber dann ist deine Lösung wohl die einzige Chance :-)

    Noch eine Frage... Wieso muss ich, wenn ich ein Listener Objekt erzeuge immer auf die Klasse Object zurückgreifen? Wieso hat man nicht gleich eine eigene Klasse für Listener zur Verfügung gestellt. Object ist doch die allgemeinste, oder?

    Vielen Dank.

  8. #8
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    Zitat Zitat von medieninf
    Wenn man diese Funktionalität aber häufiger brauchen würde, müsste ich die Funktion immer ändern bzw. eine neue erstellen, mit den Codeblöcken die abgearbeitet werden sollen.
    Man kann auch eine function schreiben, die dann Vars übergeben bekommt und nur gewisse Teile abarbeitet. Großer Vorteil ist, das functions sehr dynamisch sind und bei oft verwendeten Arbeitsschritten eine Menge Code spart.
    Bsp:
    PHP-Code:
    function test(foo:Number):Void {
        if(
    foo == 1trace("Die gedrückte Taste ist eine Zifferntaste mit geradem Wert.");
        if(
    foo == 2trace("Die gedrückte Taste ist eine Zifferntaste mit ungeradem Wert.");
        if(
    foo == 3trace("Die gedrückte Taste ist keine Zifferntaste.");
    }
    var 
    myListener:Object = new Object();
    myListener.onKeyDown = function() {
        var 
    raw:Number Key.getCode();
        if(
    raw >=48 && raw <= 57){
            if(
    raw%== 0test(1);
            else 
    test(2);
        }
        else 
    test(3);
    }
    Key.addListener(myListener); 
    Zitat Zitat von medieninf
    Wieso muss ich, wenn ich ein Listener Objekt erzeuge immer auf die Klasse Object zurückgreifen? Wieso hat man nicht gleich eine eigene Klasse für Listener zur Verfügung gestellt. Object ist doch die allgemeinste, oder?
    Klar, aber wenn Wurst im Kühlschrank leer ist, schlachtest du dann selber ein Schwein, oder kaufst du neue Wurst im Supermarkt?
    Object ist eine globale Function, die Flash schon von sich aus liefert und die sollte man dann auch verwenden.
    Wozu also selber eine Klasse schreiben, wenn es schon eine gibt, die das erfüllt, was man haben will?
    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  9. #9
    TP-Member medieninf macht alles soweit korrekt
    Registriert seit
    Mar 2006
    Beiträge
    93

    ...

    Ja, das man die Klasse nicht selber schreibt, wenn Sie da ist, leuchtet ein. Aber das halt in der allgemeinen Objekt Klasse die Listener Funktionalität "eingebaut" ist, finde ich nicht so logisch, wie wenn, für diese spezielle Aufgabe, von den Entwicklern die Listener Klasse auch Listener heißen würde und nicht alle möglichen Methoden in der Object Klasse liegen würden...

    Trotzdem Danke. Nehm ich es halt als gegeben...

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51