Ergebnis 1 bis 5 von 5

Thema: Mausfunktionalität

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Genauso hab ich es in meinem Projekt gemacht. Hab mir ein eigenes Hauptmenü zusammengebastelt, da sind jetzt momentan 5 Buttons übereinander. Einer der Menüpunkte zeigt kurz einen Vorspann und springt dann ins Menü zurück (ist bisher der einzige Menüpunkt der funktioniert) Geht auch sehr gut, allerings hab ich festgestellt dass er weiterhin die Position des Zeigers und Mausklicks speichert, obwohl das Menü-Event (in dem ist Mouse.update() drin) gar nicht läuft. Wenn er dann ins Menü zurück kehrt, führt er augenblicklich alle Mausbewegungen/Mausklicks durch die während des Vorspanns gemacht wurden... Ich würde gern für die Dauer des Vorspanns das Mausscript "abschalten" und Mouse.disableSaveToGame() hilft da leider nicht... ich kenne mich mit Ruby leider nicht so gut aus, gibt es eine Art "Gegenbefehl" zum Mouse.initSystem(), also einen Befehl der das Mausscript wieder abschaltet?

  2. #2
    Zitat Zitat von Estelyen Beitrag anzeigen
    Ich würde gern für die Dauer des Vorspanns das Mausscript "abschalten" und Mouse.disableSaveToGame() hilft da leider nicht...
    In der Script-Demo funktioniert es aber, oder?

  3. #3
    Nein, da ist so ziemlich das selbe Problem vorhanden. Bei der Scriptdemo läuft das so ab:
    Ich klicke auf den Bildschirm.
    Ein Textfenster geht auf um zu zeigen wohin ich geklickt habe.
    Ich klicke nochmal auf den Bildschirm, BEVOR ich das Fenster mit "Enter" schließe.
    Ich schließe das Fenster.
    Sofort geht ein neues Fenster auf um mir die Koordinaten des zweiten Klicks anzuzeigen.

    Aber egal, ich hab das Problem inzwischen mit ner Vereinfachung der ganzen Prozedur beheben können:
    Bisher hatte ich die ganzen Scriptbefehle (Mouse.initSystem und Mouse.update) in das Menü mit eingebunden. Jetzt habe ich ein Common Event nur für die Mausunterstützung angelegt, das Parallel läuft wenn ich den Switch 0002 aktiviere:
    PHP-Code:
    @>ScriptMouse.initSystem((Mouse::INIT_CURSOR Mouse::INIT_SAVE), 'cursorweiß'12)
    @>
    Loop
      
    @>Wait1 frame(s)
      @>
    ScriptMouse.update()
      @>
    Conditional BranchScriptMouse.pressed?(Mouse::MOUSE_LEFT)
        @>
    Control Switches: [0003Maus Links] = ON
        
    @>Wait1 frame(s)
        @>
    Control Switches: [0003Maus Links] = OFF
        
    @>
      : 
    Branch End
      
    @>Conditional BranchScriptMouse.pressed?(Mouse::MOUSE_RIGHT)
        @>
    Control Switches: [0004Maus Rechts] = ON
        
    @>Wait1 frame(s)
        @>
    Control Switches: [0004Maus Rechts] = OFF
        
    @>
      : 
    Branch End
      
    @>Conditional Branch: Switch [0002Maus an] == OFF
        
    @>Break Loop
        
    @>
      : 
    Branch End
      
    @>
    Repeat Above
    @> 
    So läuft die Mausunterstützung stets parallel nebenher und in den Menü-Events muss ich nur noch per Switches 3 und 4 überprüfen ob geklickt wurde. Dadurch dass der jeweilige Switch auch nach einem Frame bereits wieder ausgeschaltet wird hab ich auch ein anderes Problem behoben dass ich heute morgen entdeckt hab: Ich hab für die fünf Buttons in meinem Menü ja einen "möglichen Klickbereich" festgelegt. Wenn der Cursor nun außerhalb des Bereichs liegt und ich klicke, dann wurde dieser Klick ausgeführt sobald ich den Cursor auf den Button bewegt hab, aber wie gesagt: Jetzt ist das behoben xD

Berechtigungen

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