Hey Leute
lange nix gehört, wa ;P
ich mach zurzeit mal wieder nen kleines spiel.. in dem u. a. auch bälle kollidieren, nun ist es aber so dass wenn diese Kollidieren, wie es realistischerweise nunmal ist, an speed verlieren.. das ganze soll aber nicht so sein, und die bälle sollen den gleiche speed den sie zuvor hatten auch haben, da ich keine friction für die bälle benutze x)
hier der code.. ist vielleicht ganz einfach, nur da ich ihn nicht selber gemacht hab blick ich da 0 durch
danke schonma
Alles anzeigen
shari =)
lange nix gehört, wa ;P
ich mach zurzeit mal wieder nen kleines spiel.. in dem u. a. auch bälle kollidieren, nun ist es aber so dass wenn diese Kollidieren, wie es realistischerweise nunmal ist, an speed verlieren.. das ganze soll aber nicht so sein, und die bälle sollen den gleiche speed den sie zuvor hatten auch haben, da ich keine friction für die bälle benutze x)
hier der code.. ist vielleicht ganz einfach, nur da ich ihn nicht selber gemacht hab blick ich da 0 durch
danke schonma
GML-Quellcode
- if(collision_count = 0)
- {
- v1 = speed
- v2 = other.speed
- t1 = direction
- t2 = other.direction
- m1 = mass
- m2 = other.mass
- phi = point_direction(other.x,other.y,x,y)
- e = .8
- v1xr = v1*cos(degtorad(t1-phi))
- v1yr = v1*sin(degtorad(t1-phi))
- v2xr = v2*cos(degtorad(t2-phi))
- v2yr = v2*sin(degtorad(t2-phi))
- v1fxr = ((m1-m2*e)*v1xr+(m2+m2*e)*v2xr)/(m1+m2)
- v2fxr = v1fxr + e*(v1xr-v2xr)
- v1fyr = v1yr
- v2fyr = v2yr
- v1fx = cos(degtorad(phi))*v1fxr+cos(degtorad(phi+90))*v1fyr
- v1fy = sin(degtorad(phi))*v1fxr+sin(degtorad(phi+90))*v1fyr
- v2fx = cos(degtorad(phi))*v2fxr+cos(degtorad(phi+90))*v2fyr
- v2fy = sin(degtorad(phi))*v2fxr+sin(degtorad(phi+90))*v2fyr
- hspeed = v1fx
- vspeed = -v1fy
- other.hspeed = v2fx
- other.vspeed = -v2fy
- collision_count = 1
- other.collision_count = 1
- }
shari =)
Dieser Beitrag wurde bereits 1909 mal editiert, zuletzt von »Sharivari« (Morgen, 19:89)