Cocos2D - частицы следуют за эмиттером, а не остаются в положении, в котором они были освобождены
В cocos2D у меня в настоящее время есть очень простой инициализатор частиц, подобный этому:
turnEmitter = [[CCParticleFlower alloc] init];
turnEmitter.texture = [[CCTextureCache sharedTextureCache] addImage:@"Pocket.png"];
[self addChild:turnEmitter z:1];
turnEmitter.scale = 0.7f;
turnEmitter.positionType = kCCPositionTypeFree;
Он просто добавляется прямо в игровой слой.
Этот излучатель следует за спрайтом по экрану таким образом (происходит в методе обновления):
turnEmitter.position = turnEmblem.position;
Теперь проблема в том, что хвост частиц, оставленных позади излучателя, движется вместе с излучателем, а не выпущенные частицы просто остаются в том положении, в котором они были выпущены, что дает действительно странный и глупый эффект.
Я хочу, чтобы частицы вообще не следовали за эмиттером после их появления, к сожалению, я не смог найти никакого способа сделать это.
Как видно из приведенного выше кода, я уже искал и нашел людей, которые предлагают изменить свойство positionType эмиттера, хотя я перепробовал все возможности, и это не решило проблему.
У кого-нибудь есть идеи относительно того, что это может быть?
1 ответ
Вы также можете попробовать изменить "emitterMode" на "kCCPositionTypeFree". У меня была похожая проблема, когда у меня был эмиттер в детстве с CCNode. CCNode вращался, а частицы и излучатель - нет. Точно так же это выглядело глупо, потому что иллюзия вращения была разрушена. Мне нужно установить следующее на моем эмиттере:
emitter.emitterMode = kCCPositionTypeRelative;
emitter.positionType = kCCPositionTypeRelative;