SpritePixelCollisionX() et SpritePixelCollisionY()

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

SpritePixelCollisionX() et SpritePixelCollisionY()

Message par comtois »

ça serait intéressant de connaitre de combien de pixels en X et en Y il faut décaler un sprite pour ne plus être en collision .

avec un truc du genre
Resultat.l = SpritePixelCollisionX((#Sprite1, x1, y1, #Sprite2, x2, y2)
Pour ne plus être en collision #Sprite1 devrait se décaler en X de Resultat
ou #Sprite2 devrait se décaler en X de -Resultat.


Resultat.l = SpritePixelCollisionY((#Sprite1, x1, y1, #Sprite2, x2, y2)
Pour ne plus être en collision #Sprite1 devrait se décaler en Y de Resultat
ou #Sprite2 devrait se décaler en Y de -Resultat.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

ou encore mieux ^^
un parametre en option :

Code : Tout sélectionner

SpritePixelCollision(#Sprite1, x1, y1, #Sprite2, x2, y2, [*offset.COORD])
ca éviterait d'avoir deux fonctions suplémentaires pour les calculs...

Dri
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

En fait peu importe sous quelle forme , du moment que ces infos soient disponibles :)
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

En tout cas ça peut ce calculer non ?
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

oui bien sûr, mais dans ce cas ,je n'ai plus besoin de
SpritePixelCollision(#Sprite1, x1, y1, #Sprite2, x2, y2)
Il faudra que je le gère moi même .

Avec un SpriteCollision(#Sprite1, x1, y1, #Sprite2, x2, y2) la question ne se pose pas, le calcul est simple et rapide , mais on ne tient compte que de l'enveloppe des sprites .

Par contre , pour connaitre le nombre de pixels en collision, ça oblige à un traitement un peu plus long .

Et je trouve idiot de devoir le faire soi même alors que SpritePixelCollision(#Sprite1, x1, y1, #Sprite2, x2, y2) le fait déjà , il ne manque qu'une seule chose ,c'est retourner la valeur du nombre de pixels !


le principe est là si ça t'intéresse :

http://prografix.games-creators.org/document/198
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

ok :)
Répondre