Greifen/Loslassen Problem

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

  • Greifen/Loslassen Problem

    Hi,
    ich habe mal wieder ein Problem :
    -=Create=-

    GML-Quellcode

    1. image_speed =0
    2. image_index =random(floor(4))
    3. choosed =false

    -=Step=-

    GML-Quellcode

    1. if choosed =true {
    2. x =obj_cursor.x
    3. y =obj_cursor.y
    4. }

    -=Left pressed=-

    GML-Quellcode

    1. choosed =true

    -=Left released=-

    GML-Quellcode

    1. choosed =false


    Mein Problem ist das wenn ich das Objekt anklicke und die Taste gedrückt halte und wild umher wackele dann
    die Taste loslasse das Objekt manchmal trotzdem kleben bleibt.
    Warum ist das so der Code ist doch voll inordnung,oder?
  • Zunächst mal: 4 abzurunden bringt nix; ich nehme mal an, du wolltest eine Zufallszahl zwischen 0 und 4 abrunden, dann solltest du random und floor vertauschen.

    Zu deinem eigentlichen Problem: "Left Release" wird nur ausgelöst, wenn sich die Maus zum Zeitpunkt des loslassens auch über dem Objekt befindet. Wenn du die Maus zwischen Ausführung des Step Events und des Mouse Release Events vom Objekt entfernst, wird das loslassen nicht registriert (und das kann beim "wilden Herumfuchteln" schon mal passieren).

    Behoben wird das, indem du statt "Left Release" "Global Left Release" verwendest.
  • Ich würde anstatt das Left Released das global left released Event benutzen, da Left released nur stattfindet, wenn man in dem Moment auf dem Object ist, was beim schnellen Bewegen dann nicht der Fall ist.


    €dit: Boah bin ich langsam...
  • CAS schrieb:

    zwiebelmann schrieb:

    Aber das mit random(floor(4)) klappt trozdem,egal.


    Dass es funktioniert liegt aber nicht daran, dass es richtig ist, sondern (nehme ich mal an), dass der GM die Zahl für das Subimage automatisch rundet. Wenn du sowas mal an einer Stelle versuchst, an der das Runden oder Nichtrunden einen Unterschied machst, wird das zu Fehlern führen.

    *lol* Naja nur mal so, das gehört eigentlich andersrum: floor(random(4)) [Gibt eine Zahl zwischen 0 und 3 raus.]
    (Jo, dem GM sind schräge Zahlen schnuppe wenn er nur ganze Zahlen will :D )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von copyboy ()