[Devlog #4] Utilisation de particles pour afficher une image dans Game Maker

— Bonjour, camarades développeurs,

Je voudrais partager avec vous un effet sympa que j’ai développé avec Game Maker Studio, qui peut être adapté sur d’autres projets.

Pour donner un peu de contexte, dans le jeu, le joueur sonar doit scanner des objets, et je voulais que l’image de l’objet apparaisse progressivement à l’écran.
J’ai trouvé que ça marchait bien avec des particles !
Le principe est de choisir aléatoire des emplacements dans un rectangle autour de la forme qui nous intéresse, et de créer la particle seulement si l’emplacement est dans la forme.

1) D’abord, vous devez créer le système de particules que vous désirez. J’aime bien personnellement les sphères, mais il y a beaucoup d’autres possibilités.

global.particlesUI = part_system_create();
analyzerBlip=part_type_create();
part_type_shape(analyzerBlip,pt_shape_sphere);
part_type_size(analyzerBlip,.1,.1,0,0);
part_type_speed(analyzerBlip,0,0,0,0);
part_type_direction(analyzerBlip,0,0,0,0);
part_type_orientation(analyzerBlip,0,0,0,0,1);
part_type_color1(analyzerBlip,merge_colour(c_lime,c_white,0.25));
part_type_alpha2 (analyzerBlip,1,0);
part_type_scale(analyzerBlip,1,1);
part_type_blend(analyzerBlip,true);
part_type_life(analyzerBlip,60,60);

2) Ensuite, affichez le sprite que vous souhaitez utiliser (dans mon cas, une silhouette de pieuvre). Cochez “precise collision”

3) Créez un objet avec ce sprite. Décochez l’option “visible”

4) Dans l’évènement step, créez les particules aléatoirement autour de l’objet. Si l’emplacement est à l’intérieur de la forme, créez la particule, sinon, on ne fait rien.

for (var ii=0;ii<100;ii++){
var randX = 500+random(200);
var randY = 300+random(150);
if collision_point(randX,randY,obj_sonar_analyzer_drawing,true,true){
part_particles_create(global.particlesUI, randX, randY, analyzerBlip, 1);}
}
}

5) Testez !

Autres idées :
-faire des lignes pour donner un aspect écran cathodie
-un objet qui explose

Question : Quelle version de Game Maker utiliser ?
J’ai personnellement utilisé Game Maker Studio 1.4 mais le code pour Game Maker Studio 2 devrait être identique.

Question : Est-ce qu’il y a besoin d’un objet par sprite ?
Vous pouvez utiliser plusieurs sprites pour un seul objet. N’oubliez pas de rajouter un image_speed = 0 dans l’évènement Create.
Vous pouvez même faire une animation, mais je n’ai pas encore testé.

Autres questions ? Répondez ici ou envoyer un courriel à contact@abysscrew.com , je mettrai à jours la liste de questions ici pour les partager avec la communauté 🙂

J’espère que ça aidera certains d’entre vous !

Captain Pol, terminé —

Leave a Reply