Как получить положение частицы в Cocos2d (iphone) - PullRequest
1 голос
/ 28 июня 2011

Я использую CCParticleSystemQuad для создания эффекта частиц в Cocos2d. Теперь я хотел бы проверить каждую частицу на столкновения с CCRect. Как получить положения каждой частицы в движке частиц, чтобы я мог это сделать?

Любая помощь или примеры будут оценены. Я часами искал в сети, ожидая найти учебники по этому вопросу. Я удивлен, что не могу найти много, поскольку я ожидаю, что столкновения с частицами будут существенными; Возможно, я не смотрел в нужном месте :)

Ответы [ 2 ]

4 голосов
/ 28 июня 2011

Создайте подкласс CCParticleSystemQuad и переопределите обновление: метод или updateQuadWithParticle: newPosition: метод.

@interface MyParticleSystem : CCParticleSystemQuad
@end

@implementation MyParticleSystem
- (void)updateQuadWithParticle:(tCCParticle*)particle newPosition:(CGPoint)pos
{
    /* use pos */
    [super updateQuadWithParticle:particle newPosition:pos];
}
@end

РЕДАКТИРОВАНИЕ:

Вы можете установить любые данные (положение, цвет и т. Д.) Для частиц следующим образом.

@interface MyParticleSystem : CCParticleSystemQuad
@end

@implementation MyParticleSystem
- (void)update:(ccTime)dt
{
    /* implement as cocos2d/CCParticleSystem.m -update: */
}
@end
0 голосов
/ 28 июня 2011

Попробуйте что-то вроде

CCParticleSystemQuad* particle_system = ...;
for(int i = 0; i < particle_system->particleCount; i++)
{
    particle_system->particles[idx]->pos; // Here is your position
}

Заголовочный файл интерфейса находится здесь: http://www.cocos2d -iphone.org / api-ref / latest-stable / _c_c_particle_system_8h_source.html

Предупреждение. Примите этот ответ с небольшим количеством соли, поскольку я не использую Cocos2d или Objective-C.

...