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();
_character = CCSprite::createWithSpriteFrameName("girlneutral1.png");
_character->setPosition(ccp(winSize.width * 0.1, winSize.height * 0.5));
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);
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.