Mausrad

  • GM 7

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

  • Hallo Leute,

    ich arbeite eigentlich ausschließlich mit GML und versuche grundsätzlich alle Keyboard-, Maus- und Joytickabfragen im Step Event durchzuführen. Ich find es einfach unübersichtlich, wenn ich mehr als "Create", "Step" und "Draw" Event in einem Objekt verwende (mal abgesehen vom "Game End" Event um DLLs freizugeben). Für das Mausrad musste ich allerdings schon immer das "Maus" Event verwenden, weil ich einfach keine GML Variante entdecke. Vielleicht könnt ihr mir helfen, eins der letzten GM Geheimnisse zu lüften. :)

    Gibt es irgendeine GML Funktion, um zu checken, ob das Mausrad nach oben oder unten gedreht wird?
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • copyboy schrieb:

    Soweit ich weiß gibt's das wirklich nicht, aber du kannst ja ein extra Objekt machen und dir deine eigenen Scripts schreiben, wenn es wirklich nötig wird

    Ja genau. :D
    Nee, dann muss ich es wohl tatsächlich so hinnehmen. Ich glaube, das ist das Einzige, was man nicht so einfach mit GML lösen kann, oder? Wirklich seltsam. Ob das schlicht vergessen wurde?! Wär mir das mal früher eingefallen, dann hätte man es für die Entwicklung von GM8 mal als Wunsch äußern können. Naja, danke soweit!
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Naja :P Wenn jetz MB_ANY alle Maustätigkeiten mit einbefügt, dann würde das so gehen:

    GML-Quellcode

    1. if mouse_check_button(mb_any) && !mouse_check_button(mb_left) && !mouse_check_button(mb_right) && !mouse_check_button(mb_middle) && !mouse_check_button(mb_none)


    habs nicht getestet, kannst ja mal ausprobieren ;)
  • Hm also ich habe es zumindestens halb halb hin bekommen. Aber ist echt mal ne aufgabe gewesen das mit den Mausrad, ist mir selber garnicht aufgefallen.
    Aber ich hab es so gelöst.
    Ein objekt erstellen in dem das Mouse UP und Down event vor kommt um eine variabel auf 1 und 2 zu setztn
    Create-Event

    GML-Quellcode

    1. mb=0

    Mouse_Wheel Up

    GML-Quellcode

    1. mb=1 // mausrad hoch setzt die variable auf 1

    Mouse_Wheel Down

    GML-Quellcode

    1. mb=2 // mausrad runter setzt die variable auf 2

    Game_End Event

    GML-Quellcode

    1. mb=0 // setzt die variable nach jedem step auf 0


    So funst das ganz gut. Nun kannst du von jedem objekt eigentlich diese Variable ansteurn oder abfragen
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Ich danke euch für die rege Teilnahme. ^^
    @Rushon: Ich glaub nicht, dass deine Idee funktioniert.

    @x-sascha: Ja, das ist genau das, was copyboy angesprochen hat. Das kann man natürlich so machen, allerdings erfüllt das nicht so ganz den Sinn, den ich mir von einer simplen Funktion erhoffe. Ich wollte dafür kein zusätzliches Objekt benutzen, da ich mit Objekten generell geize (wegen Übersichtlichkeit und Performance). Ich hab zwar auch das Gefühl, dass diese Methode die beste Alternative ist, dennoch greife ich dann lieber auf die Maus Events zurück, das ist wesentlich komfortabler. Trotzdem vielen Dank für deine Mühe!
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Naja anscheinend geht es wohl nicht anders mit dem GM. Aber sie es mal so. So hast du eine if anweisung weniger die den code bei jedem step runter rasseln muss.
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • GML-Quellcode

    1. So hast du eine if anweisung weniger die den code bei jedem step runter rasseln muss.

    Naja, rein vom Prinzip her ist ein Mouse-Event ja auch nur eine If-Abfrage ;)

    Magical dream time!
  • Soweit ich weiß, wird das Mausrad sowiso erst seit gm6 unterstützt und die codeversion ist dabei schlichtweg vergessen worden. Ich hoffe dass das in der neuen Version anders gelöst wird.
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • WIN schrieb:

    Soweit ich weiß, wird das Mausrad sowiso erst seit gm6 unterstützt und die codeversion ist dabei schlichtweg vergessen worden. Ich hoffe dass das in der neuen Version anders gelöst wird.


    Also ich benutze ja zurzeit die 2.Beta vom 8er aber da ist auch keine
    solche Funktion eingebaut...
    Wenns garnicht anders geht musst du es halt mit ner DLL lösen ;)
    Ihc hab so voll den ij
  • Ich hab gestern einfach mal Mark eine Email geschrieben und nachgefragt. Die Antwort hat mich ehrlich gesagt überrascht:
    GM 8.0 will have mouse_wheel_up and mouse_wheel_down functions. Expect it to
    appear some time the coming week.

    Mark
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.