我在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中删除All动作
有什么办法吗
慕娘9325324
侃侃尔雅