2013-04-13 2 views
1

Я пытаюсь сделать эффект дождя. Я использовал Particle Designer для создания эффекта. Однако в Cocos2d мне нужно, чтобы дождь падал всюду по оси х, начиная с верхней части экрана, независимо от ширины экрана.Позиционирование системы частиц Cocos2d

self.rainParticleSystem = [CCParticleSystemQuad particleWithFile:@"particle-rain.plist"]; 
    self.rainParticleSystem.positionType = kCCPositionTypeFree; 
    self.rainParticleSystem.autoRemoveOnFinish = NO; 
    self.rainParticleSystem.position = ccp(self.screenRight*0.5, self.screenTop); 
    [self addChild:self.rainParticleSystem]; 

Как я могу «растянуть» излучатель, чтобы дождь падал с любой позиции х на экране? Прямо сейчас я могу контролировать это только с помощью параметра эмиттера X Variance в Particle Designer. Я не могу использовать жестко закодированные значения plist, потому что я не знаю, каким будет размер экрана.

ответ

1

Вы можете программно изменить дисперсию местоположения излучателя через posVar. Попробуйте что-то вроде этого .-

self.rainParticleSystem.sourcePosition = ccp(SCREEN_WIDTH/2, POSITION_Y); 
self.rainParticleSystem.posVar = ccp(SCREEN_WIDTH/2, 0);