|
||
Types de ParticulesUn système de particules a pour fonction de décrire la forme, la couleur, le déplacement, etc. d'un type particulier de particules. Il ne sera nécessaire de définir qu'une seule fois le type de particules dans votre jeu. Ceci fait, vous pourrez l'utiliser dans n'importe quel système de particules que comporte le jeu. Les types de particules présentent de nombreux paramètres vous permettant de modifier tous leurs aspects. En paramètrant les types de particules, vous serez à même de créer la plupart des effets possibles. Nous aborderons ultérieurement leur paramétrage.Un certain nombre de routines sont à votre disposition afin que vous puissiez créer de nouveaux types de particules mais également les détruire :
part_type_create() Crée un nouveau type de particules. Cette commande retourne l'index du type de particule créé. Cet index devra ensuite être utilisé par tous les appels de fonctions (voir ci-dessous) afin de régler les propriétés du type de particules. Aussi, il sera souvent utile de sauvegarder cet index dans une variable globale. La forme d'une particuleChaque particule posséde une forme (shape). Cette forme est représentée en base par un sprite. Vous pouvez utiliser un sprite quelconque pour la définition de vos particules mais sachez qu'il existe déjà 15 sprites réservés à cet usage. La forme d'une particule doit présenter une taille de 64x64 pixels et posséde des valeurs alpha déjà prédéfinies, de manière à ce que la particule s'accorde le plus harmonieusement possible avec l'arrière-plan. Les constantes suivantes concernent les formes :
Vous pouvez paramétrer la forme d'une particule en utilisant la fonction suivante :
part_type_shape(ind, shape) Détermine la forme d'un type de particule en utilisant l'une des constantes vues plus haut (la forme par défaut est pt_shape_pixel). Vous pouvez également utiliser votre propre sprite afin de définir la forme de la particule. Si le sprite comporte plusieurs sous-images, vous devrez alors préciser ce qui doit être fait avec ces dernières. Vous pourrez choisir aléatoirement une image, animer le sprite, démarrer au début de l'animation ou à un endroit aléatoire, etc. Vous utiliserez la fonction suivante à cet effet.
part_type_sprite(ind, sprite, animat, stretch, random) Affecte votre propre sprite pour le type de particule d'index ind. Avec le paramètre animate, vous préciserez si le sprite doit être animé (1) ou pas (0). L'argument stretch (1 ou 0) indique si l'animation doit être étendue au delà de la durée de vie de la particule. Avec le paramètre random (1 ou 0), vous déterminerez si une sous-image aléatoire doit être choisie comme image de départ. Une fois le sprite choisi pour le type de particule (soit votre sprite ou encore la forme par défaut shape), vous devrez indiquer la taille de celui-ci. Une taille de 1 correspond à la taille normale du sprite. Un type de particule peut être défini de telle manière que toutes les particules puissent présenter la même taille ou encore avoir des tailles différentes. Vous pouvez indiquer une plage comprenant plusieurs tailles. Dans ce dernier cas, il vous sera possible d'indiquer si la taille doit changer au delà de la durée de vie de la particule et si une certaine agitation dans la taille doit survenir afin de créer un effet de clignotement.
part_type_size(ind, size_min, size_max, size_incr, size_wiggle) Fixe les paramètres de taille pour le type de particule. Vous spécifierez la taille de départ minimale, la taille de départ maximale, si la taille doit augmenter à chaque step (utilisez un nombre négatif pour diminuer la taille) et la valeur d'agitation ou de tremblement (la taille par défaut est de 1 et par défaut, la taille ne change pas). Les particules peuvent avoir aussi une orientation. De nouveau, l'orientation peut être la même pour toutes les particules ou peut être différente pour chacune d'entre elles, peut changer au delà de la durée de vie du sprite. Les angles indiquent des rotations exprimées en degrés dans le sens contraire des aiguilles d'une montre.
part_type_orientation(ind, ang_min, ang_max, ang_incr, ang_wiggle, ang_relative) Régle les propriétés de l'angle d'orientation pour le type de particule d'index ind. Vous indiquerez l'angle minimum, l'angle maximum, l'incrément à chaque step et la valeur d'agitation dans l'angle (par défaut, toutes ces valeurs sont à 0). Vous pourrez également indiquer si l'angle donné doit être relatif (1) ou absolu (0) par rapport à la direction actuelle du déplacement. Par exemple, en paramètrant toutes les valeurs à 0 mais en fixant ang_relative à 1, l'orientation de la particule suivra précisément le chemin de la particule. Couleur et mélangeLes particules ont une couleur. Il y a différentes manières de préciser les couleurs que doivent avoir une particule. La façon la plus simple est d'indiquer une couleur unique. Vous pouvez également préciser deux ou trois couleurs avec lesquelles la couleur de la particule sera interpolée pendant toute sa durée de vie. Par exemple, la particule peut débuter blanche puis devenir de plus en plus noire et ce jusqu'à la fin de sa durée de vie. Une autre possibilité sera d'indiquer que la couleur de chacune des particules doit être différente et sélectionnée à partir d'une gamme de couleurs. Vous pouvez aussi fournir une plage de couleurs pour le rouge, le vert et le bleu ou encore une gamme de tonalité ou de saturation.Par défaut, la couleur sera blanche. Habituellement, vous utiliserez un sprite possédant ses propres couleurs. Dans ce cas, aucune couleur ne devra alors être précisée.
part_type_color1(ind, color1) Indique une couleur unique à utiliser pour la particule. En plus de la couleur, vous indiquerez également une valeur de transparence alpha. Les formes de particules intégrées possédent déjà une certaine transparence alpha mais vous pourrez utiliser ces paramètres pour par exemple faire en sorte que la particule disparaisse à la fin de sa vie.
part_type_alpha1(ind, alpha1) Détermine un paramétre unique de transparence alpha (0-1) pour le type de particule. Habituellement, les couleurs des particules seront mélangées avec celles de l'arrière-plan de la même façon que pour les sprites. Mais il est aussi possible d'utiliser un mélange de type additif. Cela peut donner un effet très intéressant, en particulier pour les explosions.
part_type_blend(ind, additive) Indique si l'on doit utiliser le mélange additif (1) ou bien un mélange classique (0) pour le type de particule. Vie et mort des particulesLes particules ont une durée de vie limitée, c'est ce que l'on appelle leur temps de vie. Après ce temps, elles disparaîtront. La durée de vie des particules se mesure en steps. Vous pourrez indiquer la durée de vie (ou une plage de durées de vie) pour chaque type de particule. Les particules peuvent créer de nouvelles particules de types différents. Il y a deux manières de procéder. Soit elles créent de nouvelles particules à chaque step , soit elles créent des particules à leur mort. Mais soyez prudent afin que le nombre total de particules ne devienne pas trop élevé !
part_type_life(ind, life_min, life_max) Détermine les limites de durée de vie pour le type de particule (les valeurs par défaut sont de 100.) Mouvement de particuleLes particules peuvent se mouvoir pendant toute leur durée de vie. Elles peuvent avoir une vitesse de départ (ou une plage de vitesses) et une direction : la vitesse et la direction pouvant changer en permanence. De même, la gravité peut être définie pour attirer les particules dans une direction donnée. Les fonctions suivantes sont destinées à cet usage :
part_type_speed(ind, speed_min, speed_max, speed_incr, speed_wiggle) Détermine les propriétés de vitesse pour le type de particule (par défaut, toutes les valeurs sont à 0). Vous indiquerez une vitesse minimale et maximale. Une valeur aléatoire déterminée entre ces deux valeurs sera choisie lorsque la particule sera créée. Vous pouvez indiquer un incrément de vitesse à utiliser à chaque step. Utilisez un nombre négatif pour ralentir la particule (la vitesse ne devra jamais descendre en dessous de 0). Enfin, vous indiquerez une certaine valeur d'agitation de la vitesse. << Traduction française par Philippe Ragni - (2005) >> |
||
|
||
|
You can also read this manual on one single long page (± 1.5 mb)
Also available in: ![]() Download helpfile
|
||





