2010-07-18 4 views
1

J'utilise Chipmunk avec SpaceManager à l'intérieur de Cocos2D. J'ai un corps qui bouge avec des impulsions, j'aimerais pouvoir utiliser l'emplacement de ce corps pour piloter un nœud de parallaxe dans Cocos2D. Ainsi, lorsque le corps 'a' se déplace vers la gauche, la parallaxe suit mais avec un léger décalage temporel ou un effet élastique. Si vous connaissez AS3 et Flash, vous pouvez penser à utiliser l'emplacement x et y d'un MovieClip pour piloter une interpolation à mise à jour constante avec un effet d'accélération. C'est ce que je voudrais accomplir, et après avoir dormi sans essayer de le faire la nuit dernière, j'ai décidé de vous demander des gens beaucoup plus expérimentés :)Employez l'emplacement de corps de Tamia pour conduire Cocos2D Parallax

Merci.

Répondre

0

Vous pouvez associer un corps supplémentaire au nœud de parallaxe et le fixer au corps a à l'aide d'un joint ou d'un jeu de joints approprié. Il est difficile de dire à partir de la question quel est le comportement exact que vous recherchez, mais au moins l'un des problèmes de glissière, de rainure ou de ressort amorti devrait faire l'affaire.

+0

Bonjour. Cela semble fonctionner, c'est «associer un corps au nœud de parallaxe» qui me cause des problèmes, c'est le peu que je n'arrive pas à comprendre. :) Merci d'avoir répondu. – Andrew

+0

Je ne connais pas du tout Cocos2D, mais je suppose qu'il y a une API qui peut positionner explicitement le noeud parallaxe, que vous appelleriez avec la sortie de cpBodyGetPos (my_elastic_body). Selon la façon dont les nœuds de parallaxe fonctionnent, vous devrez peut-être en faire une couche normale non-parallex contrôlée par le corps, éventuellement avec un facteur d'échelle sur le mouvement du corps, afin de réintroduire l'effet parallex. Je m'excuse si cela n'a aucun sens en raison de mon ignorance de Cocos2D. –

0

J'ai travaillé ceci, pour l'avenir ref dans d'autres cas de besoin, vous utilisez:

[voidNode setPosition: (yourShape.position)];