Salut,
Je code un petit jeu en Lua / Love, rien d'extraordinaire. bref, tout marche... Sauf les collisions. Ma méthode est ultra couteuse car mon code est assez horrible...
Bref, le principe est que dès que joueur entre en collision avec obstacle, on diminue la position y du joueur.
Sauf que, pour pouvoir faire défiler les obstacles, j'ai du faire un système pour sauvegarder dans une table le moment d'insertion de l'obstacle pour calculer ensuite sa position à chaque tout de boucle...
Problème : les obstacles ne sont jamais détruits ! Donc je me retrouve dès le début avec plus de 200 obstacles quand le cube arrive dans le "champs" et du coup la gestion de collision que je fais devient très très lourde...
En effet, pour vérifier les collisions, je vérifie tout le tableau des obstacles pour vérifier leur position (toujours en calculant la position de dessin).
Au début, je dois donc vérifier 200 données de tableau... Et comme cela tourne à ~50 FPS, alors le décalage entre l'arrêt du joueur et la collision est de... 4 secondes, dès le début du jeu. Donc je dois attendre 4 secondes pour voir mes collisions marcher, et en plus ce nombre grandit de boucle en boucle.
Je pose ainsi une question à laquelle je n'ai pas pu répondre : n'y a-t-il pas un autre moyen plus propre de trouver des collisions ?
Voici mon code : (attention les yeux)
http://pastebin.com/wq4uuTey