Я получил 0 ответ от платы Cocos2D, поэтому подумал, что я попробую здесь.
Ok. Я рву на себе волосы. Вчера вечером я полностью пересмотрел свой код в надежде исправить некоторые проблемы с частотой кадров iphone4. Я создал спрайты заранее, а не делал некоторые из них во время обновления. Я добавляю их в таблицу спрайтов только в методе обновления по мере необходимости.
Однако, это действительно не решило проблему. Так что я изменил одну вещь из любопытства. Мой основной спрайт 2048x2048 содержит 24 кадра и один статический кадр. Я использовал, чтобы вытащить мое статическое изображение из кадров, которые я сгенерировал, используя spriteWithSpriteFrameName. Вместо этого я просто решил создать для него другой файл изображения и создать его из этого. Проблема с частотой кадров решена в основном ... Я не понимаю, почему. Я думал, что текстура уже была в памяти для начала? Что-то не так с моим кодом?
circleSpriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"spritesheetbase.png"];
//Load Note Animations
for (int i = 0; i < 25; i++)
{
int x = i % 5;
int y = i / 5;
CCSpriteFrame* frame = [[CCSpriteFrame alloc] initWithTexture:circleSpriteSheet.textureAtlas.texture rect:CGRectMake(x * 200, y * 200, 200, 200)];
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFrame:frame name:[NSString stringWithFormat:@"noteFrame%d.png", i]];
[frame release];
}
CCSprite *s = [CCSprite spriteWithFile:@"staticRing.png"];
//CCSprite *s = [CCSprite spriteWithSpriteFrameName:@"noteFrame0.png"]; <--- Old way I used to create it
Если бы кто-то мог помочь, я был бы у тебя в долгу! Я так растерялся.