为什么我的CCParticleSystem不能显示Cocos2d?

时间:2012-11-13 19:09:24

标签: objective-c ios animation cocos2d-iphone

这可能与粒子系统无关,但更多与分层有关,但是......我有以下粒子系统代码:

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”场景中,我有一个“世界”对象。我甚至试图在我的CCLayer中添加[self scheduleUpdate]

在我的CCLayer中,我也有一个空白的更新。我应该在这里做些什么吗?

-(void) update:(ccTime)delta{

}

任何帮助,包括良好的通用实践(esp内存管理)将不胜感激。 (刚刚开始使用cocos / iOS dev)谢谢!

1 个答案:

答案 0 :(得分:1)

检查:

  • 纹理不是零
  • 纹理不是太大(最大512x512)
  • 纹理具有二维的力量(4,8,16,32等)
  • 持续时间为正(否则会自动删除效果)
  • self.visible == YES
  • (self.position + explosion.position)==在屏幕的某个地方(爆炸的位置被添加到自己的位置,因为它的位置是相对于其父级的)