自定义粒子系统

时间:2011-04-06 04:24:20

标签: iphone objective-c cocos2d-iphone

我想在我的应用程序中显示粒子效果,但问题是当我在视图上添加粒子时它显示不同颜色的粒子图像,我不希望对我使用的粒子图像有任何颜色效果。 请帮帮我!!

THANX !!!

6 个答案:

答案 0 :(得分:7)

谢谢Calvin Fan!它对我很好!!这是我的代码:

CCParticleExplosion *drops = [[CCParticleExplosion alloc] initWithTotalParticles:3000];
drops.texture = [[CCTextureCache sharedTextureCache] addImage:@"p1-dust-l.png"];

drops.position = position;
drops.life =0.2;
drops.duration = 0.5;
drops.scale = 0.5;
drops.speed = 100;

ccColor4F startColor, startColorVar, endColor, endColorVar;
startColor.r = 1.0f;
startColor.g = 1.0f;
startColor.b = 1.0f;
startColor.a = 1.0f;

startColorVar.r = 0.0f;
startColorVar.g = 0.0f;
startColorVar.b = 0.0f;
startColorVar.a = 0.0f;

endColor.r = 1.0f;
endColor.g = 1.0f;
endColor.b = 1.0f;
endColor.a = 1.0f;

endColorVar.r = 0.0f;
endColorVar.g = 0.0f;
endColorVar.b = 0.0f;
endColorVar.a = 0.0f;

drops.startColor = startColor;
drops.startColorVar = startColorVar;
drops.endColor = endColor;
drops.endColorVar = endColorVar;

drops.autoRemoveOnFinish = YES;

答案 1 :(得分:4)

CCParticleExplosion *myEmitter;

myEmitter = [[CCParticleExplosion alloc] initWithTotalParticles:30];

//star.png is my particle image
myEmitter.texture = [[CCTextureCache sharedTextureCache] addImage:@"star.png"];
myEmitter.position = ccp(250,s250);

myEmitter.life =0.2;
myEmitter.duration = 0.5;
myEmitter.scale = 0.5;
myEmitter.speed = 100;

//For not showing color
myEmitter.blendAdditive = NO;
[self myEmitter z:50];
myEmitter.autoRemoveOnFinish = YES;

答案 2 :(得分:1)

@iPhone Monster->您可以使用粒子系统的startColor,startColorVar,endColor,endColorVar属性。尝试一下。

您使用的是内置粒子效果吗?或者使用粒子设计师??

答案 3 :(得分:1)

您可以使用不同类型的图像创建自定义粒子。

在cocos2d中,有些类可用。一些软件也可用。在这里,我附上一个链接http://particledesigner.71squared.com/。它会帮助你很多。通过自定义粒子发射器的各个方面,为您的最新游戏创建令人惊叹的视觉效果。

您可以访问大型免费发射器在线图书馆,包括火灾和爆炸,瀑布和雪。发射器完成后,将其提交到在线图书馆以展示您的工作。

enter image description here

Particle Designer支持所有iOS设备,允许您定位最广泛的受众。

答案 4 :(得分:0)

尝试:

startColor.r = 1.0f;
startColor.g = 1.0f;
startColor.b = 1.0f;
startColor.a = 1.0f;
startColorVar.r = 0.0f;
startColorVar.g = 0.0f;
startColorVar.b = 0.0f;
startColorVar.a = 0.0f;
endColor.r = 1.0f;
endColor.g = 1.0f;
endColor.b = 1.0f;
endColor.a = 1.0f;
endColorVar.r = 0.0f;
endColorVar.g = 0.0f;
endColorVar.b = 0.0f;
endColorVar.a = 0.0f;

self.blendAdditive = NO;

答案 5 :(得分:0)

我建议粒子设计师创建粒子,看看这个教程http://www.ferbass.com/2011/05/03/cocos2d-using-particles/