Kollision zwischen Bällen - Script leicht verändern

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

  • Kollision zwischen Bällen - Script leicht verändern

    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

    GML-Quellcode

    1. if(collision_count = 0)
    2. {
    3. v1 = speed
    4. v2 = other.speed
    5. t1 = direction
    6. t2 = other.direction
    7. m1 = mass
    8. m2 = other.mass
    9. phi = point_direction(other.x,other.y,x,y)
    10. e = .8
    11. v1xr = v1*cos(degtorad(t1-phi))
    12. v1yr = v1*sin(degtorad(t1-phi))
    13. v2xr = v2*cos(degtorad(t2-phi))
    14. v2yr = v2*sin(degtorad(t2-phi))
    15. v1fxr = ((m1-m2*e)*v1xr+(m2+m2*e)*v2xr)/(m1+m2)
    16. v2fxr = v1fxr + e*(v1xr-v2xr)
    17. v1fyr = v1yr
    18. v2fyr = v2yr
    19. v1fx = cos(degtorad(phi))*v1fxr+cos(degtorad(phi+90))*v1fyr
    20. v1fy = sin(degtorad(phi))*v1fxr+sin(degtorad(phi+90))*v1fyr
    21. v2fx = cos(degtorad(phi))*v2fxr+cos(degtorad(phi+90))*v2fyr
    22. v2fy = sin(degtorad(phi))*v2fxr+sin(degtorad(phi+90))*v2fyr
    23. hspeed = v1fx
    24. vspeed = -v1fy
    25. other.hspeed = v2fx
    26. other.vspeed = -v2fy
    27. collision_count = 1
    28. other.collision_count = 1
    29. }
    Alles anzeigen


    shari =)
    Dieser Beitrag wurde bereits 1909 mal editiert, zuletzt von »Sharivari« (Morgen, 19:89)
  • Also, zuersteinmal würde ich den Mist richtig formatieren, is ja grausam.
    Dann kannst du m1 und m2 meiner Meinung nach komplett rauskicken, da du ja den Speed der Bälle beibehalten willst und die Masse dann keine Rolle spielt.

    Für den Rest, joa, der sollte dann doch so übernehmbar sein.

  • Benutzer online 1

    1 Besucher