如何提高cocos2d-x-spine骨骼动画加载速度
展开全部
//init
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !Layer::init() )
{
return false;
}
CCSkeletonAnimation* skeletonNode = CCSkeletonAnimation::createWithFile(;spineboy.json;, ;spineboy.atlas;);
skeletonNode-;setAnimation(;walk;, true);
skeletonNode-;setPosition(ccp(300,0));
//skeletonNode-;debugSlots = true;
skeletonNode-;debugBones = true;
skeletonNode-;timeScale = 0.5f;
addChild(skeletonNode,0,1);
ParticleSun* _emitter1 = ParticleSun::create();
_emitter1-;setTexture( TextureCache::getInstance()-;addImage(;fire.png;) );
addChild(_emitter1, 10, 2);
ParticleGalaxy* _emitter2 = ParticleGalaxy::create();
_emitter2-;setTexture( TextureCache::getInstance()-;addImage(;fire.png;) );
skeletonNode-;addChild(_emitter2, 10, 20);
scheduleUpdate();
return true;
}
//update
void HelloWorld::update (float deltaTime)
{
CCSkeletonAnimation* skeletonNode = (CCSkeletonAnimation*)getChildByTag(1);
Bone* pBone = skeletonNode-;findBone(;left hand;);
CCPoint pt = skeletonNode-;convertToWorldSpace(ccp(pBone-;worldX,pBone-;worldY));//粒子1是添加在Scene上的 所以需要坐标转换一下
ParticleSun* _emitter1 = (ParticleSun*)getChildByTag(2);
_emitter1-;setPosition(pt);
pBone = skeletonNode-;findBone(;right hand;);
pt = ccp(pBone-;worldX,pBone-;worldY);//粒子2直接挂到骨骼动画上,所以不需要转换坐标
ParticleGalaxy* _emitter2 = (ParticleGalaxy*)skeletonNode-;getChildByTag(20);
_emitter2-;setPosition(pt);
}
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !Layer::init() )
{
return false;
}
CCSkeletonAnimation* skeletonNode = CCSkeletonAnimation::createWithFile(;spineboy.json;, ;spineboy.atlas;);
skeletonNode-;setAnimation(;walk;, true);
skeletonNode-;setPosition(ccp(300,0));
//skeletonNode-;debugSlots = true;
skeletonNode-;debugBones = true;
skeletonNode-;timeScale = 0.5f;
addChild(skeletonNode,0,1);
ParticleSun* _emitter1 = ParticleSun::create();
_emitter1-;setTexture( TextureCache::getInstance()-;addImage(;fire.png;) );
addChild(_emitter1, 10, 2);
ParticleGalaxy* _emitter2 = ParticleGalaxy::create();
_emitter2-;setTexture( TextureCache::getInstance()-;addImage(;fire.png;) );
skeletonNode-;addChild(_emitter2, 10, 20);
scheduleUpdate();
return true;
}
//update
void HelloWorld::update (float deltaTime)
{
CCSkeletonAnimation* skeletonNode = (CCSkeletonAnimation*)getChildByTag(1);
Bone* pBone = skeletonNode-;findBone(;left hand;);
CCPoint pt = skeletonNode-;convertToWorldSpace(ccp(pBone-;worldX,pBone-;worldY));//粒子1是添加在Scene上的 所以需要坐标转换一下
ParticleSun* _emitter1 = (ParticleSun*)getChildByTag(2);
_emitter1-;setPosition(pt);
pBone = skeletonNode-;findBone(;right hand;);
pt = ccp(pBone-;worldX,pBone-;worldY);//粒子2直接挂到骨骼动画上,所以不需要转换坐标
ParticleGalaxy* _emitter2 = (ParticleGalaxy*)skeletonNode-;getChildByTag(20);
_emitter2-;setPosition(pt);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询