Diskuze: Problém s odrazem

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Co máš nastavené u kolize s krajem? A jak rychle se kuličky pohybují?
U kolizí mám nastavený klasický bounce a rychlost mám od 5 do 10 postupně se zrychlují
Bounce je jednoduchá funkce a má svá omezení. Zasekávání je jedno z
nich.
Existují cesty jak z toho ven, ale jednak není žádná snadná a většinou
zas přinášejí jiné potíže.
Například když máš rychlost vyšší než 1, vždycky může nastat
situace, že se budou objekty zasekávat. Je to tím, že jeden step pohybu je
schopen dostat objekt dovnitř jiného objektu o více než jeden pixel a při
výpočtu odrazu se objekt není schopen posunout z dosahu kolize.
Jak jsem už psal, cesty jsou.
Nejlepší a taky nejtěžší způsob je externí dll.
Např.: http://www.maartenbaert.be/extremephysics/
Další cestou je napsat skript nahrazující funkci bounce přímo v gml.
Lze tak pracovat s odrazem detailněji i když oproti dll pomalu.
Pak lze taky bounce ponechat a snažit se likvidovat kritické situace
buď předcházením nebo korekcí pohybu po odrazu.
Většinou se ale lidi spokojí s vestavěnou funkcí. Při správném
nastavení masek spritů dochází k zasekávání jen málokdy.
Zaseknutá kolečka od sebe můžeš ručně oddálit přes zjištění směru k druhému kolečku a použití
lengthdir_x() a lengthdir_y()
pro opačný směr. Funguje to dobře a je to jednoduché. Že se zasekli poznáš podle toho, že se jejich pozice nemění.
Zobrazeno 9 zpráv z 9.