cocos2dx吧 关注:11,007贴子:33,689
  • 2回复贴,共1

新手请教一个动画问题。。

只看楼主收藏回复

void PlayerSprite::updateAnimation(CCString* cUrl)
{
CCArray* arr=CCArray::create();
for(int i=npcPro->dir*8;i<=npcPro->dir*8+7;i++)
{
CCSpriteFrame* frame=CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(CCString::createWithFormat(cUrl->getCString(),i+1)->getCString());
arr->addObject(frame);
}
CCAnimation* anima=CCAnimation::createWithSpriteFrames(arr,0.2f);
anima->setLoops(-1);
this->runAction(CCAnimate::create(anima));
arr->release();
}
在初始化里
this->updateAnimation(_npcPro->npcUrlPao);
this->updateAnimation(_npcPro->npcUrlPao);
this->updateAnimation(_npcPro->npcUrlPao);
这样很多次重复调用都正常。 只显示12345678
传给别的对象后 在调用的时候就重复了
比如在别的对象里
this->pSprite->updateAnimation(this->pSprite->_npcPro->npcUrlPao);
前面的动画就不消失了 显示1234567812345678 12345678…………
都重复了 精灵动起来越来越快 。
这啥问题啊..新手 求赐教。


1楼2016-04-17 19:27回复
    设置循环-1是无限执行,那么执行下一次Action之前最好调用一次stopAllAction()


    IP属地:云南2楼2016-04-20 14:48
    回复
      2025-12-21 05:18:59
      广告
      不感兴趣
      开通SVIP免广告
      下载贴吧客户端发语音!


      来自iPhone客户端3楼2016-04-20 19:02
      回复