我正在使用 LevelHelper 构建我的关卡,并在我的关卡中添加一些粒子(动态初始化的 CCParticleSystemQuad)。一切正常,直到我移动世界(这是 Box2D 中动态绘制的世界,我用相机跟随玩家)。如果我移动世界,新添加的连续发射的粒子被绘制在正确的位置,但在之后的粒子动画中,粒子似乎是相对于全局世界/屏幕位置绘制的。这会产生一种奇怪的“幻觉”效果,看起来完全不切实际。粒子应该在世界内部重新绘制/刷新
LevelHelperLoader * lh = gameLayer.lh;
LHLayer * layer = [lh layerWithUniqueName:@"MAIN_LAYER"];
NSArray * array = [lh spritesWithTag:WORTEL];
CCParticleSystemQuad * particle;
CGPoint position;
for (LHSprite * sprite in array) {
particle = [CCParticleSystemQuad particleWithFile:@"DirtParticles.plist"];
[layer addChild:particle z:0];
position = sprite.position;
position.y += sprite.contentSize.height * 0.5f;
[particle setPosition:position];
[particle resetSystem];
}
有人知道我可能做错了什么吗?