0

これはパーティクルシステムではなく、レイヤリングに関連している可能性がありますが、...パーティクルシステムの次のコードがあります。

CCParticleExplosion *explosion = [[CCParticleExplosion alloc] init];
explosion.texture = [[CCTextureCache sharedTextureCache] addImage:@"blah.png"];
explosion.position = ccp(100,100);
[explosion setAutoRemoveOnFinish:YES];
[explosion setTotalParticles:10];
[self addChild:explosion];
[explosion autorelease];

そのコードを「HelloWorld」シーンのように貼り付けると、正常にレンダリングされます。ただし、コードをCCLayerの下に置き、そのCCLayerを「HelloWorld」シーンに追加すると、パーティクルが表示されません。何故ですか?(CCLayerは問題なく表示されます)

唯一の顕著な違いは、私の「HelloWorld」シーンに「world」オブジェクトがあることです。そして私[self scheduleUpdate]は自分のCCLayerに追加しようとさえしました。

私のCCLayerには、空白の更新もあります。私はここで何かをすることになっていますか?

-(void) update:(ccTime)delta{

}

良い一般的な慣行(特にメモリ管理)を含むどんな助けでも大歓迎です。(cocos / iOS devを始めたばかりです)ありがとう!!

4

1 に答える 1

1

それを確認します:

  • テクスチャは nil ではありません
  • テクスチャが大きすぎない (最大 512x512)
  • テクスチャには 2 次元の累乗があります (4、8、16、32 など)。
  • 持続時間は正です (そうでない場合、効果は自動的に削除されます)
  • self.visible == はい
  • (自分の位置 + 爆発の位置) == 画面上のどこか (爆発の位置は、その親に対する相対的な位置であるため、自分の位置に追加されます)
于 2012-11-14T00:07:24.310 に答える