2017-04-06 2 views
1

Je fais un jeu où un bloc noir tombe sur un fond blanc. Mon avatar, qui est rouge, esquive les blocs noirs mais s'il touche le bloc noir, le jeu est terminé. Quelqu'un peut-il me donner un coup de main pour commencer cela? Je veux juste que l'avatar vérifie si le pixel à l'emplacement du bloc est noir ou blanc. Merci.Comment obtenir une collision en utilisant Pixmap Libgdx

+1

Utilisez simplement Box2d. – Hllink

Répondre

2

Vous pouvez lire la valeur de pixel de Pixmap en utilisant getPixel() méthode:

https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/Pixmap.html#getPixel-int-int-

Donc, si vous pouvez faire une approximation de votre objet qui a besoin de détection cela peut être utilisé. C'est à dire. si votre objet est (presque) carré ou cercle ou quelque chose comme ça, vous pouvez définir comme 4 points le représentant. Ensuite, vous pouvez vérifier ces 4 points et si l'un d'entre eux est en état de collision, alors votre objet est également en état de collision. Mais si vous avez besoin de la "précision des pixels" et que votre sprite est de 200x200 pixels, vous devrez vérifier 200x200 = 40 000 pixels, ce qui n'est bien sûr pas possible, alors vous devriez opter pour une autre option.