我正在使用 Sprite Kit 构建简单的游戏,其中关卡是由相同的矩形块构建的。但是当我添加很多块(即 1000)时,游戏变得非常慢(FPS 下降到 20)。这是我向场景添加块的方法:
-(void)drawLevel
{
SKSpriteNode *shelf = [SKSpriteNode spriteNodeWithTexture:_initialLevel.earthBoxTexture];
shelf.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:shelf.size];
shelf.physicsBody.dynamic=NO;
shelf.physicsBody.categoryBitMask = platformCategory;
for (NSValue *positionValue in _initialLevel.boxPositions)
{
shelf.position = positionValue.CGPointValue;
[_platformsNode addChild:[shelf copy]];
}
[_world addChild:_platformsNode];
}
_world 是主要场景的子对象。我创建“架子”一次,然后复制它。我应该怎么做才能获得好的 FPS?
应用程序在 iPhone 5 上进行了测试。