Cómo instalar efectos de partículas en la animación del esqueleto de la columna vertebral
bool HolaMundo::init()
{
/////////////////// ///////////
// 1. super init primero
if ( !Layer::init () )
{
return false;
}
CCSkeletonAnimation* esqueletoNodo = CCSkeletonAnimation::createWithFile("spineboy.json", "spineboy.atlas", "spineboy.json ", "spineboy.atlas") "spineboy.atlas");
esqueletoNode-gt; setAnimation("walk", true);
esqueletoNodo-gt; setPosition(ccp( 300, 0));
// esqueletoNodo-gt; debugSlots = verdadero;
esqueletoNodo-gt; debugBones = verdadero
esqueletoNodo-gt; = 0.5f;
addChild( esqueletoNodo, 0, 1);
PartículaSun* _emitter1 = PartículaSun::create(); (TextureCache::getInstance()->addImage("fire.png");
addChild(_emitter1, 10, 2);
ParticleGalaxy* _emitter2 = ParticleGalaxy::create (
_emitter2 -gt; setTexture( TextureCache::getInstance()-gt; addImage("fire.png")
esqueletoNode-gt; , 20);
programarActualización();
devolver verdadero
}
//actualizar
void HelloWorld::update (float deltaTime)
{
CCSkeletonAnimation* SkeletonNode = (CCSkeletonAnimation*)getChildByTag(1);
Bone* pBone = SkeletonNode - gt;findBone("left hand");
CCPoint pt = SkeletonNode-gt;convertToWorldSpace(ccp(pBone-gt;worldX,pBone-gt;worldY));//La partícula1 se ha agregado al escena, por lo que se requiere conversión de coordenadas
<p> ParticleSun* _emitter1 = (ParticleSun*)getChildByTag(2);
_emitter1-gt; setPosition(pt);
pBone = esqueletoNodo-gt; );
pt = ccp(pBone-gt; worldX, pBone-gt; worldY); //La partícula 2 está directamente vinculada a la animación del esqueleto, por lo que no es necesario convertir las coordenadas
ParticleGalaxy* _emitter2 = (ParticleGalaxy*)skeletonNode-gt;getChildByTag(20);
_emitter2-gt;setPosition(pt);
}