Cocos2d: испускаемые частицы не перемещаются правильно с экрана

Я настроил излучатель частиц, чтобы показать светящуюся сферу, которая выглядит великолепно (добавлено кодом ниже). Единственная проблема заключается в том, что когда я перемещаюсь вокруг уровня, частицы, которые уже были созданы, тоже перемещаются вокруг, а не остаются локально относительно местоположения излучателя; сам излучатель вращается правильно и испускает новые частицы из правильного местоположения

CCParticleSystem *orb = [CCParticleSystemQuad particleWithFile:@"orb.plist"];
orb.position = ccp((screenSize.width / 2),screenSize.height);
[self addChild: orb];

Что я должен сделать, чтобы испускаемые частицы также вращались вокруг экрана?

1 ответ

Решение

Есть три возможных поведения для позиционирования частиц (positionType свойство системы частиц). Как указано в источниках cocos2d:

  • kCCPositionTypeFree - Живые частицы привязаны к миру и не подвержены изменению положения излучателя.
  • kCCPositionTypeRelative - Живые частицы прикреплены к миру, но будут следовать за перемещением излучателя. Вариант использования: прикрепите эмиттер к спрайту, и вы хотите, чтобы эмиттер следовал за спрайтом.
  • kCCPositionTypeGrouped - Живые частицы прикрепляются к эмиттеру и транслируются вместе с ним.

Я не совсем понимаю, каково ваше ожидаемое поведение. Попробуйте все эти режимы сначала.

Также у cocos2d есть отличная демоверсия, которая распространяется вместе с исходниками. Проверьте пример ParticleTest.

Другие вопросы по тегам