Я сейчас возиться с Sprite Kit на прошивке, чтобы выяснить, если это будет уместно, чтобы сделать рамки относительно простого 2D игр вSprite Kit - Анимация и память Managment
Из-за мой ActionScript фон, я. Мне очень удобно работать с Sprite Kit по коду
Но есть кое-что, что я просто не могу понять. Анимированные узлы с Texture Atlas в качестве ресурса невероятно насыщены памятью. Я импортировал атлас в свой проект (размер текстур составляет около 35 МБ). Предзагрузка текстуры в оперативной памяти, кажется, хорошо, но в данный момент я запустить фактическую анимацию, увеличивается размер кучи exponentinaly (приблизительно от 80MB до 780MB)
Вот идет мой код:
self.noahFrames = [[NSMutableArray alloc] init];
SKTextureAtlas *noahAtlas = [SKTextureAtlas atlasNamed:@"noahAnimati"];
int imgCount = noahAtlas.textureNames.count;
for (int i=1; i <= imgCount; i++) {
NSString *textureName = [NSString stringWithFormat:@"NoahMainMenuAnimation_%d", i];
SKTexture *temp = [noahAtlas textureNamed:textureName];
[self.noahFrames addObject:temp];
}
SKSpriteNode *noahNode = [self createSpriteWithName:@"noah" imagePath:@"Noah_main_menu_hd" positionXPath:@"MainMenu.Noah.x" positionYPath:@"MainMenu.Noah.y" scalePath:@"MainMenu.Noah.scale"];
[self addChild:noahNode];
//up to this point everything goes fine
[noahNode runAction:[SKAction repeatActionForever:
[SKAction animateWithTextures:self.noahFrames
timePerFrame:0.1f
resize:YES
restore:YES]] withKey:@"animatedNoah"];
Так я предполагаю, что мой актуальный вопрос почему приложение становится настолько безумно памяти, что после вызова анимации SKAction? Я должен упустить что-то довольно очевидное ...
Итак, как только вы на один шаг по линии runAction увеличиваете использование памяти? Или вы, возможно, запускаете это действие снова и снова для каждого кадра, возможно, для нескольких узлов? – LearnCocos2D
Точно. И нет, я не называю действие снова и снова. Его называют только один раз и для одного узла. – Casper522
Я сталкиваюсь с тем же вопросом с iPad 2. Мое приложение на основе spritekit, выпущенное в магазине приложений, сегодня мгновенно сбрасывается, когда отображается диспетчер представлений с представлениями spritekit. Эти представления spritekit не имеют анимации, просто простые одноцветные спрайноды (даже не изображения, просто простые узлы с одним цветом). У меня есть 7 просмотров spritekit на той же странице, но iPad 2 не может справиться с этим. – Shawn