1775Fermer1777
FarewellLe 28/11/2010 à 12:17
Brunni (./1775) :
Pour Sonic j'avais dû mettre une vitesse maximale (en gros je faisais des calculs pour m'assurer que mes algos de collision étaient fiables à 16px/frame).

J'avai implémenté ça dans mon moteur. Puis un truc plus générique, en faisant les calculs pour les déplacements modulo 16 :
20 px de déplacement => un calcul pour le déplacement de 16 px, puis un second calcul pour un déplacement de 4 px.

J'ai peur de consommer fort en ressource avec une détection exacte : si j'ai un bloc de 16*16px, je devrais calculer si le segment de déplacement du perso (en fait, son vecteur de déplacement appliqué à sa position) vient intersecter un des 4 segments de mon bloc 16*16. C'est simple à faire en maths bien sûr, mais je ne sais pas comment optimiser pour ne pas calculer des intersections éventuelles avec des blocs de l'autre bout de la map qu'on ne risque absolument pas de traverser.