Premier projet, premier code de jeux vidéo : casse brique
Articles similaires
3 réflexions au sujet de “Premier projet, premier code de jeux vidéo : casse brique”
Salut,
Voici une piste :
Une vitesse de balle trop rapide (> aux dimensions de la brique) et la collision n’est pas détectée. Soit réduire la vitesse ou tester les collisions sur tout le chemin parcouru par la balle en une frame.
Le moment où tu fais ton test de collision (avant ou après le déplacement de la balle ? ) est déterminant : Est-ce que la balle fait des zigzags entre les briques ?
ps : Il y a une rubrique entraide sur le forum.
Merci doumdoum pour ta réponse,
j’ai changé mon fusil d’épaule après l’écriture du devlog (comme quoi, écrire permet de se rendre compte de pas mal de chose). J’ai entièrement réécris le code concernant les collisions. Maintenant, je calcule la distance entre le centre de la balle et les bords du bloc dans lequel est contenue le centre de la balle. Si cette distance est inférieure au rayon et que la case concernée est un bloc, collision.
Ça marche beaucoup mieux comme ça même s’il reste quelques bugs quand la vitesse est très rapide. Ton idée de tester la collision sur tout le chemin parcouru par la balle pendant le dt permettrait sans doute d’éviter les derniers bugs.
J’écrirai un autre devlog quand les collisions seront correctement gérées sur mon jeu.
3 réflexions au sujet de “Premier projet, premier code de jeux vidéo : casse brique”
Salut,
Voici une piste :
Une vitesse de balle trop rapide (> aux dimensions de la brique) et la collision n’est pas détectée. Soit réduire la vitesse ou tester les collisions sur tout le chemin parcouru par la balle en une frame.
Le moment où tu fais ton test de collision (avant ou après le déplacement de la balle ? ) est déterminant : Est-ce que la balle fait des zigzags entre les briques ?
ps : Il y a une rubrique entraide sur le forum.
Merci doumdoum pour ta réponse,
j’ai changé mon fusil d’épaule après l’écriture du devlog (comme quoi, écrire permet de se rendre compte de pas mal de chose). J’ai entièrement réécris le code concernant les collisions. Maintenant, je calcule la distance entre le centre de la balle et les bords du bloc dans lequel est contenue le centre de la balle. Si cette distance est inférieure au rayon et que la case concernée est un bloc, collision.
Ça marche beaucoup mieux comme ça même s’il reste quelques bugs quand la vitesse est très rapide. Ton idée de tester la collision sur tout le chemin parcouru par la balle pendant le dt permettrait sans doute d’éviter les derniers bugs.
J’écrirai un autre devlog quand les collisions seront correctement gérées sur mon jeu.
T’as pas fait la version simple xD