Seite 2 von 2 ErsteErste 12
Ergebnis 21 bis 29 von 29

Thema: Switch per Tastendruck ändern[2k3]...

  1. #21
    Zitat Zitat von Kelven Beitrag anzeigen
    Das wird nicht funktionieren, weil die Variable nur außerhalb der Schleife abgefragt wird.
    Scharf beobachtet! Ich bin wohll an meine eigene Programmierweise gewöhnt. Da nimmt man irgendwann bestimmte Dinge als selbstverständlich hin, obwohl sie nur bei einem selbst so sind. Ich korrigiere es mal.

    Code:
    (Parallel Process)
    
    Check Key Input (Taste: Shift, Variable: Taste)       ; Ohne Wait
    If Taste = 7
      then begin
        Toggle ON/OFF Shift_Gedrueckt
        Loop
          Check Key Input (Taste: Shift, Variable: Taste)
          If Taste =|= 7
            then Break Loop
          Wait 0.0
        end
      end
    Wait 0.0

  2. #22
    Das ist völlig überkompliziert und unnötig.
    Das hier reicht vollkommen:

    Code:
    Key Input Proc: [0001:Keycode] ( Wait until Key pressed )
    Switch Operation: [0001:Target] ON/OFF Toggle
    Hab es eben nochmal probiert, funktioniert tadellos.
    Wenn das nicht funktioniert, dann muss es anderen Code geben der da mit reinspielt.

    Auf keinen Fall braucht man für sowas ein Wait oder gar eine Schleife.

  3. #23
    Beim Key Input muss dann alles andere außer Shift ausgeschaltet sein, versteht sich.

    Aber RPG Hacker wollte wohl, dass die Waffe so lange gehalten wird, wie man Shift gedrückt hält. Das ist mMn aber zu umständlich, außerdem kann der Maker nur zwei Tasteneingaben gleichzeitig verarbeiten. Man könnte also nicht gleichzeitig bewegen, gedrückt halten und angreifen.

  4. #24
    Zitat Zitat von Kelven Beitrag anzeigen
    ...außerdem kann der Maker nur zwei Tasteneingaben gleichzeitig verarbeiten. Man könnte also nicht gleichzeitig bewegen, gedrückt halten und angreifen.
    Das geht sehr wohl. Zumindest geht es bei mir. Möglicherweise hast du eine andere Version als ich. Als Beleg kannst du dir das Video von meinem Zelda AKS ansehen. Da werden Leertaste, Shift, ESC und die Richtungstasten gleichzeitig abgefragt (und es funktioniert auch, was sich per F9 überprüfen lässt). Muss allerdings betonen, dass das Version 1.51 ist. Ansonsten könnte ich ja die Richtungstasten nicht einzeln abfragen und auch kein diagonales Laufen mit einbauen.

    EDIT: Naja, klar. Wenn man die "Wait until Key pressed"-Methode benutzt, DANN kann man keine zwei Tasten gleichzeitig abfragen. :EDIT

    Zitat Zitat von makenshi Beitrag anzeigen
    Das hier reicht vollkommen
    Ja, wenn man sich mit mittelmäßiger Funktion zufrieden gibt, dann schon.

    Also ich persönlich benutze ja diese Methode:

    Code:
    (Parallel Process)
    
    Check Key Input (Taste: Shift, Variable: Shift)
    If Variable Shift = 7
      then ShiftPressed = ON
      else ShiftPressed = OFF
    
    Check Key Input (Taste: ESC, Variable: ESC)
    If Variable ESC = 6
      then ESCPressed = ON
      else ESCPressed = OFF
    
    [...]
    
    Wait 0.0
    So werden alle Tasten gleichzeitig abgefragt und indem man einfach die Switches abfragt, erkennt man auch ganz leicht, ob eine Taste gedrückt gehalten wird bzw. losgelassen wird. Die eigentlichen KS-Routinen kann man dann ganz leicht in einem anderen Event verarbeíten. So habe ich's bei mir gemacht und so funktioniert es reibungslos. Unnötig ist daran gar nichts, denn wenn man die wahl zwischen "gut" und "mittelmäßig" hat, dann sollte man natürlich "gut" nehmen, auch wenn es komplizierter ist.

  5. #25
    Es kommt natürlich auf die Art des Kampfsystems an. Normalerweise halte ich es bei einem AKS aber gerade für nicht gut, wenn man ständig eine Taste gedrückt halten muss, weil das auf kurz oder lang auf die Muskeln geht. Selbst wenn sich die Tasten dann nicht gegenseitig blockieren, muss man immer noch mit Links auf Shift+Leertaste gleichzeitig drücken. Unbequem.

  6. #26
    Did i touch a nerv? ; )
    Rein objektiv gesehen ist dein Konstrukt unnötig , so leid es mir tut.
    Am Anfang war gefragt das ein Switch umgeschaltet werden soll. Dafür ist deine Konstruktion völlig überkompliziert, es lässt sich in weniger Zeilen mit weniger Aufwand erreichen. Selbst für weiteres lässt sich auf die oben genannte Art und Weise einfacher umschalten.

    Aus der Sicht eines Spielers ist es Blödsinn eine Taste gedrückt zu halten um eine Waffe ausgefahren zu lassen. Das führt allerhöchstens zu Verkrampfungen im betroffenen Finger.

  7. #27
    Von "Waffe ausgefahren lassen" war ja nie die Rede. Ich sagte ja lediglich, dass es auf diese Art und Weise möglich ist, auch die Länge die Drückens abzufragen. So könnte man z.B. eine Wirbelattacke wie in Zelda einbauen. Normale Schläge wären aber trotzdem noch problemlos möglich. Dafür müsste man die Taste nicht gedrückt halten.

    Ja, es mag überkompliziert sein, aber wenn das Überkomplizierte noch besser als das Nicht-Komplizierte funktioniert, wieso sollte man das dann nicht verwenden? Gerade bei einem AKS halte ich es für sinnvoll seine Tastenabfrage von Anfang an sinnvoll zu programmieren, sonst wird es später nur Probleme geben (spätestens dann wenn man Combos oder sowas einbauen will). Genauso wie es zwar leichter wäre, Ressourcen einfach ins RTP zu kopieren statt sie jedes mal zu importieren, man das aber nicht tun sollte, weil es zu Problemen führt. Ich finde das ist hier genau das gleiche. Aber vermutlich hast du Recht und es lässt sich auf diese Art und Weise trotzdem ein vernünftiges AKS machen, wenn man es nur richtig anstellt.

  8. #28
    Zitat Zitat von RPG Hacker Beitrag anzeigen
    Von "Waffe ausgefahren lassen" war ja nie die Rede. Ich sagte ja lediglich, dass es auf diese Art und Weise möglich ist, auch die Länge die Drückens abzufragen. So könnte man z.B. eine Wirbelattacke wie in Zelda einbauen. Normale Schläge wären aber trotzdem noch problemlos möglich. Dafür müsste man die Taste nicht gedrückt halten.
    Wo war das denn vom TE gefordert? Habe ich das irgendwo überlesen?
    Hier geht es darum den Zustand eines Switches zu wechseln. Hin und wieder liest man was vom Waffenwechsel. Beides hat nichts mit einem Schlag zutun.

    Zitat Zitat
    Ja, es mag überkompliziert sein, aber wenn das Überkomplizierte noch besser als das Nicht-Komplizierte funktioniert, wieso sollte man das dann nicht verwenden? Gerade bei einem AKS halte ich es für sinnvoll seine Tastenabfrage von Anfang an sinnvoll zu programmieren, sonst wird es später nur Probleme geben (spätestens dann wenn man Combos oder sowas einbauen will). Genauso wie es zwar leichter wäre, Ressourcen einfach ins RTP zu kopieren statt sie jedes mal zu importieren, man das aber nicht tun sollte, weil es zu Problemen führt. Ich finde das ist hier genau das gleiche. Aber vermutlich hast du Recht und es lässt sich auf diese Art und Weise trotzdem ein vernünftiges AKS machen, wenn man es nur richtig anstellt.
    Mit dem RTP gibst du in meinen Augen ein völlig falsches Beispiel. Es geht hier um eine Aufgabenverfehlung. Nicht um grobe Fehler im Ressourcenmanagement. Das sind zwei paar Schuhe die anders zu sehen sind.

    Etwas ist nicht überkompliziert wenn es sich mit den Anforderungen deckt. Wenn du eine Schleife brauchst, weil sich die Funktionalität nicht anders umsetzen lässt, dann ist das so. Und solange es keine kürzere und performantere Lösung gibt, ist es damit nicht überkompliziert. Darauf will ich gar nicht hinaus.

    Ich will eher darauf hinaus das du es übererfüllst. Unter dem Gesichtspunkt das es hier um das simple Umschalten eines Switches geht, schießt du völlig über das Ziel hinaus.

  9. #29
    So gesehen hast du Recht, da kann ich nichts gegen sagen. Naja, ich denke halt immer im großen Stil und plane solche Dinge immer schon in Vorraussicht. Dann verbleibe ich wohl mit einem "makenshis Variante ist leichter, unkomplizierter und erfüllt die genannten Vorraussetzungen, aber falls du in der Zukunft noch vorhaben solltest ein komplizierteres AKS zu bauen, könntest du dir meine Variante ruhig einmal angucken".

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •