keyboard_check_direct Pressed?

  • GM 7

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • keyboard_check_direct Pressed?

    Hi, keyboard_check_direct kann man ja benutzen auch wenn das Fenster nicht aktiv ist, aber wie mache ich das als Pressed oder Released?
    Das gibt es ja nur als gedrückt gehalten, aber ich möchte, dass es nur beim drücken ausgeführt wird.
    Weiß jemand wie man das macht??
    Gruß Gamer
  • Es geht nur über einen kleinen Umweg:
    Setze im Create Event eines (bzw aller Objekte, die darauf reagieren sollen)
    eine Variable key_blablub=keyboard_check_direct(blablub);
    und key_prev_blablub=key_blablub;
    Ins Step Event kommt nun:
    key_prev_blablub=key_blablub;
    key_blablub=keyboard_check_direct(blablub)

    Dadurch kannst du mit Abfragen der beiden Variablen immer rauskriegen, wie der momentane Status ist
    und wie er einen Step vorher war und daraus kannst du ableiten, ob die Taste gedrückt wurde, losgelassen wurde usw.
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Da gibts eigentlich nicht viel zu erklären.
    Dadurch, dass du die Tastenzustände speicherst (sowohl den vorherigen,
    als auch den aktuellen) kannst du die Funktionen key_check_pressed
    mithilfe von key_check ersetzen.
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Nein.
    Create Event:

    GML-Quellcode

    1. //initialisieren
    2. key_bla=keyboard_check_direct(bla);
    3. key_prev_bla=key_bla;


    An den Anfang des Step Events:

    GML-Quellcode

    1. //Step
    2. key_prev_bla=key_bla;
    3. key_bla=keyboard_check_direct(bla);


    Und an die Stelle, an der du z.B. abfragen willst,
    ob die Taste im letzten Step gedrückt wurde:

    GML-Quellcode

    1. if (key_prev_bla==false)&&(key_bla){
    2. //Aktion
    3. }
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • ah jetzt hab ich es verstanden, danke und ich nehm an, so macht man dann released:

    GML-Quellcode

    1. if key_prev_bla == true && key_bla == false
    2. {
    3. //Aktion
    4. }


    Also wenn davor gedrückt wurde und jetzt nicht mehr, dann Aktion, stimmts?
    Gruß Gamer
  • Benutzer online 1

    1 Besucher