Итак, вот моя проблема с сценой: я начинаю с сцены меню, а затем перехожу в сцену InGame, и когда персонаж мертв, я снова перехожу в сцену меню, используя все это:Сбой при перезапуске сцены
[[CCDirector sharedDirector] replaceScene:[MainMenu scene]];
и
[[CCDirector sharedDirector] replaceScene:[InGame scene]];
После поражения в игре, и пытается вернуться к игре, мои SpriteSheet аварии с ошибкой:
'CCSprite is not using the same texture id'
Вот как я инициализировать анимации:
- (void) initSprite:(NSString *)plist andTexture:(NSString *)texture_ {
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:plist];
spriteSheet = [CCSpriteBatchNode batchNodeWithFile:texture_];
NSMutableArray *walkAnimFrames = [NSMutableArray array];
for (int i=1; i<=12; i++) {
[walkAnimFrames addObject:
[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:
[NSString stringWithFormat:@"%d.png",i]]];
}
CCAnimation *walkAnim = [CCAnimation animationWithSpriteFrames:walkAnimFrames delay:0.05f];
texture = [CCSprite spriteWithSpriteFrameName:@"1.png"];
walkAction = [CCRepeatForever actionWithAction: [CCAnimate actionWithAnimation:walkAnim]];
[texture runAction:walkAction];
texture.position = position;
texture.tag = HeroType;
[spriteSheet addChild:texture];
[self addChild:spriteSheet];
}
Катастрофа происходит, когда я добавляю текстуру к spriteSheet:
[spriteSheet addChild:texture];
Я считаю, что проблема исходит от открепления текстуры ..
Я не использую ARC.
Ваше использование листов спрайтов здесь является излишним. Для каждого спрайта, созданного с помощью initSprite, вы создаете узел спрайт-спрайта для этого спрайта. С или без пакетного узла вы получаете один призыв на вызов для спрайта. Матчи не ускоряют анимацию, они ускоряют рендеринг нескольких спрайтов, используя ту же текстуру, чтобы вы могли отображать 10 или сотни одинаковых спрайтов в одном обратном вызове. – LearnCocos2D
Я понимаю, я использовал его для рисования анимации персонажа. У меня есть спрайт-лист из 12 спрайтов (http://oi42.tinypic.com/2s6oe3n.jpg), что бы лучше всего сделать по вашему мнению? – thegameg