I’m currently starting with cocos2d-x to build games for blackberry/android/iOS.
I have the png and plist for the animations of a character created with texturepacker. I load them with `CCSpriteBatchNode` and `CCSpriteFrameCache` then I use a function created by me that loads all frames into an array of frames, then create a `CCAnimation` object and store the `CCAnimate` object created with the animation (code is more clear) the thing is that I have a function that detect touches and it is supposed to cycle through all animations, but it always crashes.
here is some code (this goes in the `init()`):
batchNode = CCSpriteBatchNode::create("Character/girl.png"); _cache = CCSpriteFrameCache::sharedSpriteFrameCache(); _cache->addSpriteFramesWithFile("Personajes/girl.plist"); _character = CCSprite::createWithSpriteFrameName("girlneutral1.png"); _character->setPosition(ccp(winSize.width * 0.1, winSize.height * 0.5)); _batchNode->addChild(_character, 1); this->addChild(_batchNode); createAnimation(0, "girlpush", 8, 0.15f); createAnimation(1, "girlneutral", 4, 0.3f); createAnimation(2, "girlcrash", 12, 0.3f); createAnimation(3, "girljump", 12, 0.2f); createAnimation(4, "girltrick", 12, 0.3f); _character->runAction(CCRepeatForever::create( _charanimation)); this->setTouchEnabled(true);
the function that loads the animations (*charanimation = ;
CCSpriteFrame* frame =*cache~~>spriteFrameByName;
_charanimation[a] = CCAnimate::create(CCAnimation::createWithSpriteFrames(animframes, delay));
and I get the animation to work `) but if I try to change the animation, for example, when I touch the screen:
sprintf(str, “Animation: d”, action);
}it crashes… I don’t know if I am doing it wrong, if anyone could help, I will appreciate.
If I change the animation in `runAction()` it shows the animation correctly, but I can’t change ingame with touches.
by the way, this is the error I get in console:
cocos2d-x debug info Assert failed: reference count should greater than 0 In function retain -- ..\..\cocoa\CCObject.cpp:92 m_uReference > 0 -- assertion failed
I opened this question in stackoverflow and gamedev too.