Collision linked list...

Programmation avancée de jeux en PureBasic
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Collision linked list...

Message par garzul »

:D Bonjour j'ai un probleme au niveau des liste chainée car j'ai donc crée deux sprite pour mon mini jeux un sprite Tir et un sprite ennemis donc les ennemis sont gerer par une liste chainée et le tir et gerer par autre chose ( des test ) donc je voudrai savoir comment faire entrer en collision mon sprite tir qui lui n'utilise pas de liste chainer et la liste chainer des ennemis merci @++
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

admettons que ta liste chainée ennemis s'appelle ennemis()
c'est original non ?

et qu'elle utilise la structure suivante

Code : Tout sélectionner

Structure ennemis
  NoSprite.l
  X.l
  Y.l
EndStructure

NewList Ennemis.Ennemis()
ensuite tu fais une procedure collision()

Code : Tout sélectionner

Procedure TestCollision()
  ForEach Ennemis()
    If SpriteCollision(Ennemis()\NoSprite,Ennemis()\X,Ennemis()\Y,SpriteTir,TirX,TirY)
     ;Supprime l'ennemi  
     DeleteElement()
     ;Supprime le tir ( en le mettant hors champ ? puisque tu n'as qu'un tir ?
     TirX = -50
     TirY = -50
    ;On sort
     Break
  Endif
Next
EndProcedure
Si tu n'as qu'un sprite pour les ennemis ,tu peux supprimer Nosprite de la structure

et faire le test

Code : Tout sélectionner

    If SpriteCollision(#SpriteEnnemi,Ennemis()\X,Ennemis()\Y,#SpriteTir,TirX,TirY)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Merci Comtois le seul probléme c'est que j'ai exactement fais ces test avec des messagerequester juste aprés et sa ne fais aucune collision :/ je comprend rien heu je suis sur la 2 IEME option simple mais rien ne fais qu'il y a une collision .
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Heu en faîte sa marche ( Debute dans l'utilisation des liste chainé , faut bien s'y mettre un jour un Dobro :D ) En faîte je n'avais pas fait la collision pour chaque element de ma liste chainé maintenant c'est résolu merci Comtois @++.
Répondre