CCNodeの[訪問]機能について質問があります
元の画像は輪郭がはっきりしていて、特別なことは何もなく、中に 5 つの葉のスプライトが含まれています。
画面キャプチャ :
次に、[CCNode visit] を使用してコピーしたいと思います。
そして、ここにコードがあります
-(CCSprite *)flattenSprite:(CCSprite*)sprite textureSize:(float)textureSize {
CCRenderTexture *rt = [CCRenderTexture renderTextureWithWidth:textureSize height:textureSize];
[rt begin];
// store the original sprite position
CGPoint p=sprite.position;
//set original sprite to a target point for open GL to "visit"
sprite.position=ccp(textureSize/2,textureSize/2);
// open GL visit
[sprite visit];
//original sprite return to original point
sprite.position=p;
[rt end];
return [CCSprite spriteWithTexture:rt.sprite.texture];
}
この機能により、ステージ上に存在するスプライトの量を制限することでアプリケーションのパフォーマンスを最適化できますが、「コピーされたスプライト」には暗いエッジがありました。特にスプライトが互いに重なっている場合は、奇妙に見えます。
手がかりがあれば教えてください/このダークエッジの問題に関する有用な情報が得られた場所