SpriteKit SklabelNode Draw Callsを削減します
-
21-12-2019 - |
質問
だから私は私のゲームにシーンを表示します。これは、他のゲームのレベルを表示するレベルを表示します。2 .....)。問題は、各SklabelNodeがそれらをアトラスに組み合わせるための一つのテクスチャ瞬間としてレンダリングされるので、私がたくさんの描画電話をかけることです。誰かが私がこれらの描画通話を減らすのを助けることができるかどうかを知りたいのですが。私はGlyph Designerを使いたくないので、このゲームは日本語中国語などのようなさまざまな言語になるだろうからです。 何かアドバイス?
-(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 wintを同時に、その場合、それらをプリロードするか、メインスレッド上に置かないでください。
所属していません StackOverflow