문제

레벨이있는 다른 게임과 마찬가지로 레벨을 표시하는 내 게임에 장면이 있습니다. Subcritenode 사용자 지정 수준 단추를 만들고이 하위 클래스 내에서 SklabelNode를 추가하여 레벨 제목 (레벨 1, 레벨2 .....).그 문제는 각 SklabelNode가 아틀라스로 결합하는 한 텍스처를 즉시 렌더링하기 때문에 많은 무로워 통화가 많이 있습니다.누군가가 이러한 그리기 호출을 줄이는 데 도움이되는지 알고 싶습니다.나는이 게임이 일본어 중국 등과 같은 많은 언어로 될 것이기 때문에 글리프 디자이너를 사용하고 싶지 않습니다. 어떤 충고?

-(void)setText: (NSString *)text{

_label = [SKLabelNode labelNodeWithFontNamed:@"CooperBlack"];
_label.text = text;
_label.fontColor = [UIColor blackColor];
_label.fontSize = 11;
_label.zPosition = 2;
_label.verticalAlignmentMode = SKLabelVerticalAlignmentModeCenter;
_label.position = CGPointMake(0, 0);
[self addChild: _label];
.

}

도움이 되었습니까?

해결책

작업하고있는 작업에 따라 런타임에 레이블의 내용을 렌더링 (사전로드 / 캐싱)에서 텍스처로 렌더링 한 다음 원하는 모든 방법으로 조작 할 수 있습니다.

SKLabelNode *theThingToBecomeATexture;
   //OR
SKSpriteNode *theThingToBecomeATexture;

SKTexture *theTexture = [theView textureFromNode:theThingToBecomeATexture];
.

그러나 내 후속 질문이나 의견은 다음과 같습니다. 화면에 몇 가지 레이블 노드를 보여줌으로써 성능 문제가 발생했음을 믿는 데 어려움이 있습니다.나는 당신이 alloc을 시도하고 동시에 init init init을 시도하고있는 경우, 그 모든 것을 사전로드하거나 메인 스레드에 아닌 것을 할당 할 것이라는 것을 이해할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top