Red de conocimiento informático - Conocimiento informático - Cómo instalar efectos de partículas en la animación del esqueleto de la columna vertebral

Cómo instalar efectos de partículas en la animación del esqueleto de la columna vertebral

/init

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);

}