doppelklick

  • GM 8

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

  • huhu,

    mal wieder eine frage ;)
    ich habe ien objekt welches mit "d" nacht rechts läuft, und mit "a" nach links. nun schaut in der ausgangsposition das objekt nach rechts.
    ich habe vor wenn man 2x "a" hintereinander klickt (doppelklick) dass dann der sprite geändert werden soll, sozusagen das objekt nach links schaut. wie kann ich eine "doppelklick" abfrage sinnvoll gestalten?

    mfg
  • problem ist dass ich das doppelklicken als steuermechanik brauche. ich habe vor :

    obj schaut nach rechts:

    'd' pressed = laufen
    'd' doppelklick = kurzer sprint
    'a' doppelklick = obj dreht blickrichtung nach links

    obj suat nach links

    ' a' pressed = laufen

    'a' doppelklick = kurzer sprint

    'd' doppelklck = obj dreht blickrichtung nach rechts

    daher suche ich da nach ner lösung.
  • Achso, sag das doch gleich.
    Du brauchst dafür eine Variable, nenne wir sie mal "can_sprint". Sobald jetzt entweder a oder d gedrückt wird, wird can_sprint auf 1 gesetzt. Außerdem muss noch eine Abfrage ins Step Event geschrieben werden, in der geprüft wird, ob can_sprint>0 ist und wenn ja, wird die Variable um 1 erhöht (damit wird die Zeit in Steps gemessen).
    Des weitern, wird noch eine Abfrage bei a und d gebraucht. Wenn jetzt a oder d gedrückt wird, wird geschaut, ob can_sprint>1 ist und kleiner als die maximale Zeitdifferenz (auch in Steps). Wenn ja, dann wurde doppelt geklickt, wenn nicht, dann nicht. Und falls die Zeitdifferenz schon überstiegen wurde, dann wird can_sprint einfach wieder auf 0 gesetzt.

    Das ist so der Grundgedanke. Er enthält noch ein paar Sonderfälle, die du selber lösen kannst, z.B. wenn man jetzt a drückt und kurz danach statt nochmal a, b drückt, würde das auch zu einem Doppelklick führen, obwohl es 2 unterschiedliche Tasten sind.

    Das ganze zu implementieren liegt jetzt bei dir. Schwer ist es eigentlich nicht.