1

Les collisions en 2D sont un sujet peu abordé et j'arrive pas à trouver des réponses à mes questions sur internet.

Dans le cas où l'on veut réaliser des collisions entre un sprite et un décors, il vaut mieux utiliser un tableau de collisions mais comment ce présente t'il?

Pour effectuer de simple collisions entre sprites, il faut que le sprite possède des points d'impact et tester les cas avec une routines?

Enfin le plus simple, tester des collisions entre figures géométrique, rond, carré, triangle! Dans le cas de cercles je connais maintenant, dans le cas de carrés il faut tester les différences de coordonnées X et Y des 2 objets en collision?


Dans mon cas j'ai un problème car mes objets ne ce déplace pas pixel par pixel et il arrive souvent que j'obtienne des fusion, le plus génant c'est que mes méthodes de collisions ne me permette pas réellement de défusionner les objets facilement et précisément. sad

avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

2

Est-ce que tu as pensé à la détection de collision par pixel ?
C'est possible de l'utiliser avec des méthodes plus approximatives (rectangles...) pour ne pas ralentir le programme smile
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

3

OK je vais voir ça. Mais le gros problème c'est que je sais qu'il y a collision à tout moment mais ma défusion d'objets marche assez mal. sad
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

4

Vous aurez pas un lien vers un tuto sur les collisions en français j'en trouve pas.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

5

Tiens, en fouillant dans les archives, j'ai trouvé ceci :
topics/16-9638-detection-de-colisions
topics/16-1918-collisions
topics/16-15930-test-de-collision

Mais franchement ton problème est super simple : ton objet est un disque et ton décor est constitué uniquement de blocs rectangulaires (donc leurs côtés sont verticaux ou horizontaux), ça simplifie tout !
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

6

Ouai en fait elles sont correcte mes collisions mais je voudrais juste avoir plus amples d'informations sur ce sujet. Car quand on ce lance dans des trucs nouveau on fait un peu au pifomètre.

Merci sasume, je vais voir ça. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

7

Sasume
: Mais franchement ton problème est super simple : ton objet est un disque et ton décor est constitué uniquement de blocs rectangulaires (donc leurs côtés sont verticaux ou horizontaux), ça simplifie tout !

Ca, ça a déjà été dit plusieurs fois dans le topic arkanoid neutral

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

8

Je le sais très bien, d'ailleurs je n'utilise pas la méthode cité dans ce topic. bref.
En tout cas merci sasume pour les liens, je les infos qu'il me fallait comme collision entre sprites... entre figure géométrique de même forme je savais faire avant de poser la question.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

9

Pour détecter la collision entre un disque et un rectangle, pour chacune des 4 faces du rectangle, tu prends le projeté orthogonal H du centre O du disque sur la face, tu compares la distance OH au rayon r du cercle, et si OH<=r, il y a collision. (Idéalement, OH=r est l'endroit où la collision devrait être détectée.)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

10

C'est ce que je fais. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

11

Je viens de créer une routine de collision entre sprites, elle fonctionne très bien sauf que le problème c'est que je n'arrive pas à déterminer le nombre pixels suivant x pour sortir de la collision.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

12

OK
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »