CGContextClipToMask()関数を使用して、さまざまな色のパーティクルを作成しようとしています。何らかの理由で、私の最初のパーティクルは更新によって完全に表示およびアニメートされているように見えますが、他のパーティクルはまったく表示されません。コードのスニペットは次のとおりです。
while(i < mNextParticleIndex)
{
Particle* p = &mParticles[i];
CGRect drawRect = CGRectMake(
p->mPos.x,
p->mPos.y,
p->mSize,
p->mSize);
// try image masking
CGContextClipToMask(context, drawRect, [mImage CGImage]);
CGContextSetBlendMode(context, kCGBlendModeNormal);
CGContextSetFillColor(context, CGColorGetComponents([UIColor
colorWithRed:p->mColor.r green:p->mColor.g blue:p->mColor.b alpha:p->mColor.a].CGColor));
CGContextFillRect(context, drawRect);
ClipToMask呼び出しをコメントアウトすると、さまざまな塗りつぶしがアニメーション化されているのがわかります(つまり、パーティクルエフェクト形式で塗りつぶされている正方形の束が表示されます。ただし、呼び出しでは最初の塗りつぶししか表示されません。何か足りないものがありますか?