Création de jeux avec Game Maker
Systèmes de Particules
Les particules ont une existence dans les systèmes de particules. Aussi, pour que votre jeu dispose de particules, il est donc nécessaire de créer un ou plusieurs systèmes de particules. Il peut y avoir différents systèmes de particules (mais il est préférable d'en avoir un petit nombre). Par exemple, si votre jeu posséde un certain nombre de balles et que chaque balle doit avoir une queue de particules, il est très probable que chacune des balles devra avoir son propre système de particules. La façon la plus simple d'aborder les systèmes de particules est justement d'en créer un puis de créer les particules le composant, en utilisant les types de particules que vous aurez définis auparavant. Mais, comme nous le verrons plus loin, les systèmes de particules peuvent comprendre des émetteurs (emitters) qui produiront automatiquement les particules, des attracteurs (attractors) qui les attireront et des destructeurs (destroyers) qui les détruiront.Dés lors que des particules ont été ajoutées à un système de particules, elles seront automatiquement mises à jour à chaque step puis affichées. Aucune action supplémentaire n'est requise. Afin de permettre que les particules puissent être dessinées derrière, devant ou encore entre des instances d'objets, chaque système de particules posséde une profondeur qui est similaire à celle des instances et des tuiles.
Les systèmes de particules, après avoir été créés, présentent une durée de vie illimitée. Ainsi, même si vous changez de room ou que vous relanciez le jeu, les systèmes et leurs particules demeureront toujours présents. Il sera donc préférable de les détruire dés lors que vous n'en aurez plus besoin.
Les fonctions de base suivantes traitent des systèmes de particules :
part_system_create() Crée un nouveau système de particules. Cette commande retourne l'index du système créé. Cet index devra être utilisé dans tous les appels de fonctions ci-dessous afin de régler les propriétés du système de particules.
part_system_destroy(ind) Détruit le système de particules d'index ind. A invoquer si vous ne souhaitez plus utiliser ce système de particules (permet de gagner de l'espace mémoire).
part_system_exists(ind) Indique si le système de particules d'index ind existe.
part_system_clear(ind) Réinitialise le système de particules à ses valeurs par défaut, supprimant toutes les particules, émetteurs et attracteurs du système.
part_system_draw_order(ind, oldtonew) Définit l'ordre dans lequel le système de particules dessine les particules. Si le paramètre oldtonew est à true, les particules les plus anciennes seront dessinées en premier lieu tandis que les plus récentes seront affichées par dessus les plus anciennes (par défaut). Sinon, les particules les plus récentes seront dessinées en premier. Ceci permet d'obtenir différents effets.
part_system_depth(ind, depth) Détermine la profondeur du système de particules. Cela peut être utilisé afin de permettre aux particules d'apparaître derrière, au premier plan ou encore entre des instances.
part_system_position(ind, x, y) Détermine la position où le système de particules doit être affiché. Cela n'est habituellement pas nécessaire mais si vous souhaitez avoir des particules à une position relative par rapport à un objet en déplacement, vous pourrez de cette façon régler la position des particules par rapport à cet objet.
Comme indiqué précédemment, le système de particules est mis à jour et affiché automatiquement. Mais parfois, cela ne sera pas ce que vous souhaiterez. Pour vous permettre de contourner cela, vous pouvez régler à off la mise à jour et l'affichage automatique et décider alors par vous-même le moment où la mise à jour ou l'affichage du système de particules doit avoir lieu. Vous pourrez utiliser à cet effet les fonctions suivantes :
part_system_automatic_update(ind, automatic) Indique si le système de particules doit être mis à jour automatiquement (1) ou pas (0). 1 est la valeur proposée par défaut.
part_system_automatic_draw(ind, automatic) Indique si le système de particules doit être affiché automatiquement (1) ou pas (0). 1 correspond à la valeur par défaut.
part_system_update(ind) Cette fonction met à jour la position de toutes les particules du système et autorise les émetteurs à créer des particules. Vous ne devrez appeler cette fonction uniquement lorsque la mise à jour n'est pas réglée en automatique (bien que parfois il est recommandé d'appeler cette fonction deux fois afin d'obtenir un bon fonctionnement du système).
part_system_drawit(ind) Cette fonction dessine les particules du système. A invoquer lorsque l'affichage ne se fait pas en automatique. Elle devrait être appelée dans l'événement d'affichage (draw event) de certains objets.
Les fonctions suivantes ont traits aux particules des systèmes de particules :
part_particles_create(ind, x, y, parttype, number) Cette fonction crée number particules du type indiqué à la position (x,y) dans le système.
part_particles_create_color(ind, x, y, parttype, color, number) Cette fonctions crée number particules du type indiqué à la position (x,y) dans le système avec la couleur indiquée. Cela est seulement utile quand le type de particule utilise une couleur unique (ou n'utilise aucune couleur du tout).
part_particles_clear(ind) Cette fonction supprime toutes les particules du système.
part_particles_count(ind) Cette fonction retourne le nombre de particules du système.
<< Traduction française par Philippe Ragni - (2005) >>
Alternative versions
Also available in:
Download helpfile