레벨이 동일한 직사각형 블록으로 구성된 Sprite Kit를 사용하여 간단한 게임을 작성합니다. 그러나 많은 블록 (예 : 1000)에 추가하면 게임 속도가 매우 느려집니다 (FPS가 20으로 떨어집니다). 다음은 장면에 블록을 추가하는 방법입니다.SpriteKit에서 여러 번 동일한 스프라이트 추가하기
-(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를 얻으려면 어떻게해야합니까?
응용 프로그램은 아이폰 5
장치 또는 시뮬레이터이 있습니까? 나는 주어진 답이 맞다고 생각하지만, 질문에 그 정보를 추가하는 것은 가치가있다. 시뮬레이터의 20fps와 장치의 20fps는 매우 다른 상황입니다. – prototypical
한 노드 만 사용하는 솔루션의 경우 http://stackoverflow.com/a/37768928/763355 – MoDJ