【发布时间】:2014-03-18 05:14:25
【问题描述】:
我在 SpriteKit 上开发了一个游戏,每个场景都有多个场景 至少来自 3 个 TextureAtlas 每个TextureAtlas中图像的最大尺寸为60K 我的游戏因内存崩溃问题
我在每个场景中所做的就是在头文件中定义动作,例如:
initialise them in -(id)initWithSize:(CGSize)size Function
@interface FirstLevel : SKScene
{
SKAction *RedBirdAnimation;
}
在实施文件中:
-(id)initWithSize:(CGSize)size{
if(self=[super initWithSize:size])
{[self setupRedBirdActions];}
return self;
}
-(void)setupRedBirdActions{
SKTextureAtlas *RedBirdAtlas = [SKTextureAtlas atlasNamed:@"RedBird"];
SKTexture *RedBird1 = [RedBirdAtlas textureNamed:@"Redbird_01_iphone.png"];
SKTexture *RedBird2 = [RedBirdAtlas textureNamed:@"Redbird_02_iphone.png"];
SKTexture *RedBird3 = [RedBirdAtlas textureNamed:@"Redbird_03_iphone.png"];
NSArray *atlasTexture = @[RedBird1, RedBird2, RedBird3];
SKAction* atlasAnimation = [SKAction animateWithTextures:atlasTexture timePerFrame:0.2];
RedBirdAnimation = atlasAnimation;}
在我的游戏中是否有类似最佳实践的加载纹理图集 以防止它因内存而崩溃。
我在每个 Skscene 结束时用 Nil 制作所有 SkAction 并从 All SkSpriteNode 中删除所有操作
有什么解决办法
【问题讨论】:
-
什么时候发生崩溃?
-
它会在一段时间后发生
标签: sprite-kit