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:
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.
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
- if (self.id>other.id) //damit der code nicht doppelt ausgeführt wird
- {
- s_o=other.speed //variable für den speed vom einen object
- s_s=self.speed //variable für den speed vom anderen object
- self.speed=s_o // eigener speed = ursprünglicher anderer speed
- other.speed=s_s // anderer speed = ursprüngicher eigener speed
- }
- self.direction=point_direction(other.mid_x,other.mid_y,self.mid_x,self.mid_y)
- //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.