2015-04-23 3 views
1

J'ai l'impression que ce ne sera pas possible, mais ça vaut le coup de le demander quand même. J'ai une image de fond et un sprite de premier plan, les deux sont de la même taille que la fenêtre/vue. Pendant que l'image-objet du joueur se déplace sur l'écran, je veux supprimer les pixels qu'il touche pour révéler l'image-objet d'arrière-plan.Effacer les pixels de Sprite Cocos2d-JS

Ce n'est pas seulement à des fins d'affichage, je veux que les espaces que le joueur a dessinés ou «creusés» hors du calque du premier plan pour permettre aux ennemis de se déplacer ou aux objets de tomber dedans. Une détection de coup sera donc nécessaire avec la couche de premier plan.

Ceci est assez complexe et peut-être Cocos2D-JS n'est pas la meilleure plate-forme à utiliser, si ce n'est pas possible, pourriez-vous en recommander un autre qui serait plus facile à réaliser cet effet?

Répondre

1

Je crois que c'est possible, mais je ne suis pas capable de vous donner une réponse correcte.

Tout ce que je peux dire est que vous aurez très probablement deux choix:

a. Faites une forme physique polygonale et déformez-la, puis utilisez-la comme un "filtre" pour afficher votre image de terrain (here's a proof of concept example in another language using box2d).

b. Manipulez directement les pixels et utilisez un masque pour la détection de collision (here's pixel-perfect collision detection in cocos2d-js, malheureusement, je n'ai aucune information pour modifier les pixels).