2011-04-06 133 views
3

我想在我的应用程序中显示粒子效果,但问题是当我在视图中添加粒子时,它显示不同颜色的粒子图像,我不希望任何颜色对我使用的粒子图像产生影响。 请帮助我!自定义粒子系统

THANX !!!

回答

1

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

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

+1

@shinu:Thanx为您的回应,我只使用内置在粒子系统的粒子效果。但是我真正想要的是我不想为我的粒子提供任何颜色,我只想显示图像,因为我正在设置粒子以便显示。我已经使用了你所说的内容,但只是设置了粒子的颜色,我不想要任何颜色,但只想显示图像,请告诉我是否有可能。 – 2011-04-07 06:28:16

+0

在那种情况下,然后将blendAddictive设置为YES。 – ShinuShajahan 2011-04-07 07:51:55

+0

ie,self.blendAddictive = YES;或yourEmitter.blendAddictive = YES; 'yourEmitter'是你的粒子系统对象。好? – ShinuShajahan 2011-04-07 07:52:42

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; 
+1

@Shinu:我也试过,但结果没有变化。这里是我的代码: CCParticleExplosion * particle = [[CCParticleExplosion alloc] initWithTotalParticles:5]; [particle setTexture:[[CCTextureCache sharedTextureCache] addImage:@“particle1.png”]]; particle.position = ccp(point.x,point.y); [particle setGravity:ccp(0,-300)]; particle.blendAdditive = NO; 微粒。autoRemoveOnFinish = YES; [self addChild:particle]; [particle release]; – 2011-04-08 04:00:25

+0

但事实是,我发布的代码为我工作得很好!你有这个工作吗?试图清理?试图从模拟器/设备删除以前的应用程序? – ShinuShajahan 2011-04-08 07:05:55

+0

是的,我做了所有你所说的事情,粒子仍然是随机的颜色。有另一种方法吗?或我身边的任何错误? – 2011-04-08 08:54:42

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; 
+0

你不能这样做,它显示为LValue所要求的错误。 – 2011-04-20 03:46:24

7

感谢卡尔文范!它对我很好!以下是我的代码:

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; 
+0

感谢您的回答。这在我的游戏中完美运作。 – GeneCode 2013-02-24 06:06:44

1

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

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

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

enter image description here

粒设计支持所有iOS设备让您针对最广泛的受众。