如何提高cocos2d-x-spine骨骼动画加载速度

 我来答
倜傥还清正的东风9753
2017-07-26 · TA获得超过8825个赞
知道大有可为答主
回答量:9747
采纳率:0%
帮助的人:6617万
展开全部
//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);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式