Это всего лишь предположение, поскольку у меня нет опыта работы с cocos2d, но в любом случае ...
Я думаю, что эта часть протекает очень плохо.Вы выделили (оставьте счет = 1), затем сохранили (оставьте счет = 2), затем полностью проигнорировали этот объект и указали свой вар другому.
leftArrow = [[[CCSprite alloc]init]retain];
leftArrow = [CCSprite imageWithFile:@"file.png"];
rightArrow = [[[CCSprite alloc]init]retain];
rightArrow = [CCSprite imageWithFile:@"file.png"];
Я полагаю, вы не видитеспрайт исчезнет.Из-за того, что вы сделали выше, вы, возможно, на самом деле устанавливаете видимые свойства правильно, но, поскольку вы создали два объекта leftArrow и два rightArrow, вы можете просто увидеть другой объект (тот, который был выделен, инициирован иretain'ed, на который нет указателей).
Кроме того, imageWithFile может возвращать автоматически выпущенный объект, вы должны посмотреть на это.
Редактировать (для моего второго комментария ниже):
Заменить
leftArrow = [[[CCSprite alloc]init]retain];
leftArrow = [CCSprite imageWithFile:@"file.png"];
rightArrow = [[[CCSprite alloc]init]retain];
rightArrow = [CCSprite imageWithFile:@"file.png"];
на
leftArrow = [[CCSprite imageWithFile:@"file.png"] retain];
rightArrow = [[CCSprite imageWithFile:@"file.png"] retain];