probleme im script - logikfehler?

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

  • probleme im script - logikfehler?

    Ich will ein spiel machen mit scheiben die sich gegenseitig anstoßen (wie billiard).
    wenn sich zwei scheiben berühren soll die eine scheibe ihren speed auf die andere übertragen.
    mein code (im collision event) sieht so aus:

    GML-Quellcode

    1. if (self.id>other.id) //damit der code nicht doppelt ausgeführt wird
    2. {
    3. s_o=other.speed //variable für den speed vom einen object
    4. s_s=self.speed //variable für den speed vom anderen object
    5. self.speed=s_o // eigener speed = ursprünglicher anderer speed
    6. other.speed=s_s // anderer speed = ursprüngicher eigener speed
    7. }
    8. self.direction=point_direction(other.mid_x,other.mid_y,self.mid_x,self.mid_y)
    9. //damit sich die objekte voneinander weg bewegen

    im spiel prallt kugel1 von kugel2 einfach ab. kugel2 bewegt sich nicht.
    durch ein paar tests hab ich herausgefunden das der code bloß von einem objekt ausgeführt wird. das ist nicht der fehler.
    Ich hab auch noch mehr code in den anderen events drin. von da funkt aber glaub ich nichts dazwischen, da das mit der sache nichts zu tun hat.

    bin alles 1000mal durchgegangen und es müsste theoretisch einwandfrei funktionieren ?( .

    vielleicht wisst ihr ja was

    edit:
    die variablen mid_x und mid_y sind die mittelpunkte der objekte.
  • maxda schrieb:

    if (self.id>other.id) //damit der code nicht doppelt ausgeführt wird


    Ähm ja, und dann wunderst du dich, das der Code nur einmal ausgeführt wird?


    Schau dir mal den Thread an! Klick!

    Viele Grüße, maxda
    der code soll ja auch bloß einmal ausgeführt werden! sonst heben sich die wrikungen ja auf.
    PS: den thread werd ich mir mal anschaun, danke.

    edit:
    hab mir mal das example von Bl@ckSp@rk im andren thread angeschaut. doch ein bisschen komplizierter, als ich mir das vorgestellt hab. ich versuch das dann mal zu verstehen und machs dann ein bisschen anders. vor allem, weil bei mir die richtung nicht korrekt berechnet wird.

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

  • Benutzer online 1

    1 Besucher