レベルが同じ長方形のブロックから構築されているスプライト キットを使用して単純なゲームを構築しています。しかし、多くのブロック (つまり 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 でテストされました。