Je développe un petit jeu Android. Avant de commencer à utiliser AndEngine, j'ai utilisé l'objet Canvas et j'ai dessiné tout ce qui s'y trouvait. Pour tester si deux bitmaps entrent en collision les uns avec les autres, j'ai vérifié si leurs boîtes englobantes se chevauchent. Dans ce cas, j'ai vérifié si le rectangle de chevauchement des deux bitmaps avait un seul pixel transparent en commun. Cette méthode a fonctionné de manière parfaite et j'ai pu détecter des collisions parfaites au pixel près. En raison de problèmes de performances, j'ai commencé à utiliser AndEngine. La détection de collision fonctionne bien mais les tests de collision pour deux sprites fonctionnent parfaitement. Les tests de collision sont "juste" un test de boîte englobante.AndEngine: collision de deux sprites
4
A
Répondre
5
Voici un bel exemple de pixel de détection parfaite,
1
Ci-dessous le code de collision de deux sprites animés fonctionne bien pour moi dans AndEngine sans utiliser la classe PixelPerfect. Cela peut vous aider.
public boolean isCollides(AnimatedSprite animSprite1 ,AnimatedSprite animSprite2) throws Exception{
float diffX = Math.abs((animSprite1.getX() + animSprite1.getWidth()/2)-
(animSprite2.getX() + animSprite2.getWidth()/2));
float diffY = Math.abs((animSprite1.getY() + animSprite1.getHeight()/2)-
(animSprite2.getY() + animSprite2.getHeight()/2));
if(diffX < (animSprite1.getWidth()/2 + animSprite2.getWidth()/3)
&& diffY < (animSprite1.getHeight()/2 + animSprite2.getHeight()/3)){
return true;
}else
return false;
}
Questions connexes
- 1. Comment jouer le son une fois quand deux sprites entrent en collision dans andengine?
- 2. sprite collision Andengine (Android)
- 3. Cocos2d Sprites Collision
- 4. Collisions de sprites dans android andengine
- 5. comment déplacer les sprites dans andengine
- 6. Comment découper des sprites en plusieurs sprites dans AndEngine
- 7. AndEngine - Sprites restant à l'écran ... parfois
- 8. Zoom multiples sprites, individuellement sur touch-Andengine
- 9. AndEngine animer les sprites sur l'aide de fond de parallaxe! :)
- 10. Box2d - AndEngine
- 11. Pourquoi mes sprites ont-ils les mêmes coordonnées de centre (Android AndEngine)?
- 12. Comment détecter la collision de deux sprites qui sont sur des couches différentes avec LimeJS?
- 13. ANDROID ANDENGINE - faire glisser et déposer des sprites empilés
- 14. Détection de collision utilisant des sprites dans Pygame
- 15. Meilleure façon de détecter une collision entre les sprites?
- 16. Détection de collision avec des sprites tournés SharpDX
- 17. Désactiver la collision complètement d'un corps dans AndEngine Box2D
- 18. Andengine - ajouter des sprites en évitant les collisions avec les existants
- 19. Obtenir le dernier double avant que deux sprites n'entrent en collision
- 20. Collision avec deux objets
- 21. collision entre deux images
- 22. Collision Normal de deux points
- 23. collision de deux images problème
- 24. Comment faire corps sur différentes couches (AndEngine)
- 25. AndEngine - Vérification de chevauchement avec Sprite ou corps de physique?
- 26. Programme détectant une collision même si les sprites ne sont pas littéralement en collision 'pygame.sprite.collide_rect'
- 27. AndEngine sprite moving
- 28. iPhone: mouvement étrange de deux "sprites" UIImageView
- 29. avec compteur de collision de deux imageViews
- 30. AndEngine gérer plusieurs collisions
ces bibliothèques est utilisé ancienne version de And Engine –