首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >雪碧套装-动画与记忆管理

雪碧套装-动画与记忆管理
EN

Stack Overflow用户
提问于 2013-11-11 16:36:53
回答 1查看 1.1K关注 0票数 2

目前,我正在iOS上使用雪碧套件( Sprite )来研究它是否是一个适合于制作相对简单的2D游戏的框架。

由于我的ActionScript背景,我非常乐意使用雪碧套件的代码。

但有件事我就是搞不懂。以纹理地图集为资源的动画节点内存非常重。我已经将地图集导入到我的项目中(纹理大小约为35 my )。将纹理预加载到RAM中似乎还可以,但在我运行实际动画时,堆大小呈指数增长(从大约80 ok增加到780 ok)。

下面是我的代码:

代码语言:javascript
复制
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动画之后,内存会变得如此之大?我肯定遗漏了一些很明显的东西..。

EN

回答 1

Stack Overflow用户

发布于 2013-11-12 17:06:12

我确实知道,当纹理加载到图形内存中时,它是在没有任何压缩的情况下加载的,但我不认为xcode会监视图形内存,所以对我来说真的很奇怪。我通常像您一样加载和执行动画,而且我没有这样的内存行为,,但我在模拟器上测试时注意到了这一点。您正在使用iOS模拟器进行测试吗?当您达到这些内存级别时,应用程序会崩溃吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19911375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档