В моем приложении у меня есть множество различных анимаций моего спрайта, и в последующих версиях их будет больше.Довольно сложно использовать текстурный файл с сотнями кадров, поэтому я бы хотел сделать несколько из них.Итак, я написал этот код:
if (running)
{
NSArray * animations = [[physicalBody getAnimationList] objectForKey:ANIMATION_RUN];
if (!inAir)
{
currentFrame++;
if (currentFrame>=[animations count]*ANIMATION_ITERATION)
currentFrame = 0;
}
else
{
currentFrame = 2;
}
PhysicsSprite *sprite = (PhysicsSprite*)[physicalBody getSprite];
[sprite setFlipX:(moveingDirection)];
[sprite setDisplayFrame:[animations objectAtIndex:currentFrame/ANIMATION_ITERATION]];
}
else
{
NSArray * animations = [[physicalBody getAnimationList] objectForKey:ANIMATION_STAND];
currentFrame++;
if (currentFrame>=[animations count]*ANIMATION_ITERATION)
currentFrame = 0;
PhysicsSprite *sprite = (PhysicsSprite*)[physicalBody getSprite];
[sprite setFlipX:(moveingDirection)];
[sprite setDisplayFrame:[animations objectAtIndex:currentFrame/ANIMATION_ITERATION]]; //error here
}
Массив анимаций был создан из разных * .png, и когда он пытается переключить их, я получил эту ошибку:
* Завершение работы приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: «CCSprite: setTexture не работает, когда спрайт отображается с использованием CCSpriteBatchNode»
Как переключать файлы текстуры?Или может быть есть другое решение?