Émetteur de particules très paramétrable

Description

Ce code permet d'ajouter un émetteur de particules sur la scène. On peut changer toute une flopée de paramètres : taille, couleur, rotation, vitesse de rotation, particules/seconde, choisir de ne pas interpoler une donnée...
L'interpolation de la couleur par exemple, consiste à donner à la particule une couleur donnée au début de sa "vie", et une autre à la fin. Elle changera donc progressivement de teinte. Mais si on n'interpole pas la couleur, la particule commencera avec une couleur au hasard entre les deux couleurs données, et la gardera jusqu'à sa "mort".

J'avais vu quelques autres codes de cette nature, mais rien ne me semblait assez paramétrable, ou réaliste...

La majorité du code est constituée de répétitions, que j'aurai peut-être pu éviter avec des fonctions, mais ça me semble correct comme ça quand même.

Il est aussi très agrandi par la transmission des paramètres au clip émetteur (la partie // Variables) ... j'aurai voulu éviter ça, mais je n'ai pas trouvé de moyen...

Source / Exemple :


// Syntaxe pour créer un émetteur... certes les paramètres sont très difficilement interprétables, mais c'est quand même utilisable avec le petit guide ci-dessous...
creerEmetteurParticule(x, y, x1, x2, y1, y2, r1, v1, b1, r2, v2, b2, a1, a2, ro1, ro2, vr1, vr2, vx1, vx2, vy1, vy2, dx1, dx2, dy1, dy2, d, pps, vi, ci, ti, vri, ss, g, oi);

// Et oui, je vous avais prévenus, il y a beaucoup de paramètres ^^ ...

Conclusion :


Voici la liste des différents paramètres, et leur utilité :
x, y : position de l'émetteur
x1, x2, y1, y2 : tailles 1 et 2 des particules. On peut choisir d'interpoler de 1 à 2, ou de faire commencer la particule avec une valeur au hasard entre 1 et 2.
r1, v1, b1, r2, v2, b2 : valeurs RVB de la couleur 1, et de la 2. Interpolable ou non.
a1, a2 : alpha, interpolable ou non.
ro1, ro2 : rotation initiale (à la création). La rotation de départ est donc fixée entre ces deux valeurs.
vr1, vr2 : vitesse de rotation. Interpolable ou non, même si ça paraît bizarre.
vx1, vx2, vy1, vy2 : vitesses x et y, interpolables ou non comme la vitesse de rotation.
dx1, dx2, dy1, dy2 : décalage initial de la particule par rapport à l'émetteur. Permet de produire des particules qui sont un peu à côté de la position de l'émetteur, utilisé pour les feux par exemple.
d : durée de vie des particules, en secondes (= 48 frames).
pps : nombre de particules crées par seconde.
vi : true ou false, détermine si la vitesse est interpolée ou non.
ci : détermine si la couleur est interpolée ou non.
ti : détermine si la taille est interpolée ou non.
vri : détermine si la vitesse de rotation est interpolée ou non.
ai : détermine si la vitesse de rotation est interpolée ou non.
ss : détermine si l'émetteur doit suivre la souris. Cela rend les paramètres x et y inutiles. Cependant,é en lui même ne se déplace pas (cf NB1).
g : une valeur de gravité, appliquée à la vitesse y des particules.
oi : détermine si la profondeur des particules est inversée (les nouvelles apparaissent derrière les anciennes).

NB1 : Les particules sont crées DANS le clip de l'émetteur, ce qui fait que si l'on déplace l'émetteur, toutes les particules le suivent en bloc... par très réaliste, mais si quelqu'un veut que je règle ça, je le ferai...

NB2 : Chaque composante RVB de la couleur (lorsque cette dernière n'est pas interpolée) est choisie au hasard entre les deux valeurs imposées. Ainsi, la valeur R peut être au seuil minimum alors que la B est entre le maximum, et le minimum... ce qui fait qu'avec une couleur 1 de 000:000:000 et une 2 de 255:255:255 vous pourrez avoir toutes les couleurs possibles ! Ca peut être pratique mais gênant aussi, il faudra peut-être que je le rajoute en paramètre ?

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.