ハイスコアのテーブルに挿入されたスコアを強調表示するために描画機能を使用していますが、ハイスコア レイヤーを離れようとすると、アプリの遅延が発生することがわかりました。私はまだ比較的新しいcocos2d
ので、ラグが発生しないようにもっと良い方法があるかどうか疑問に思っていました. この関数をコメントアウトすると、ラグがないことがわかります。私のコードは次のとおりです。
- (void)draw {
[super draw];
if(currentScorePosition < 0 || currentScore==0) return;
float w = 320.0f;
float h = 20.0f;
float x = (320.0f - w) / 2.0f;
float y = 230.0f - currentScorePosition * h;
CGPoint vertices[4];
vertices[0] = ccp(x, y);
vertices[1] = ccp(x+w, y);
vertices[2] = ccp(x+w, y+h);
vertices[3] = ccp(x, y+h);
CCDrawNode *draw = [[[CCDrawNode alloc] init] autorelease];
[draw drawPolyWithVerts:vertices count:4 fillColor:ccc4f(0.5, 0.5, 0.8, 0.5) borderWidth:2.0 borderColor:ccc4f(0.0, 0.0, 0.0, 0.0)];
[self addChild:draw z:0 ];
}