Я использую CCParticleSystemQuad для создания эффекта частиц. Теперь я хотел бы проверить коллизии с CGRect из моей сцены Cocos2d. Я перечислил другую тему, похожую на эту, и подобрался немного ближе, однако у меня все еще нет полного решения, поэтому я повторно перечислил тему с немного другим названием.
У меня есть половина раствора. Я могу получить положение каждой частицы и проверить столкновения, теперь я хотел бы установить положение каждой частицы, когда они сталкиваются. В настоящее время я создаю подкласс CCParticleSystemQuad, а затем добавляю свой собственный геттер следующим образом:
-(tCCParticle*)getQuadParticle:(int)quadIndex
{
return &particles[quadIndex];
}
Затем в моей сцене Cocos2d я могу получить частицу и позицию:
tCCParticle *particle = [emitter getQuadParticle:i];
CGPoint pos = particle->pos;
Это работает, но предупреждает, что CCParticleSystemQuad может не ответить на getQuadParticle. Это вызывает беспокойство, но сейчас я хотел бы установить положение со сцены аналогичным образом, например:
[emitter setParticlePos:i newPosition:newPos];
Однако я не уверен, как сделать сеттер, который работает с моей сценой. Я не хочу делать определение столкновения внутри подкласса частиц, если это возможно.
Я начал другую тему аналогичного характера под названием «Как получить положение частиц в Cocos2d (iphone)», и мне сказали переопределить метод «обновить» или метод «обновитьQuadWithParticle», но я не уверен, как именно это сделать.
Если кто-то может показать мне пример того, как это сделать, я был бы очень признателен.