J'ai discuté un peu sous une vidéo du sujet (cf. message ci-dessus) mais je suis pas énormément plus avancé. Après le problème reste léger pour le moment à ce niveau donc je ne m'embête pas trop avec.
Rapport à un problème déjà eu avec la fonction ds_map_create() qui fonctionne comme un pointeur, si on essaie de copier la ds_map dans une nouvelle variable on ne fait que référencer le pointeur de base. Quelqu'un sait comment contourner le problème et copier vraiment la ds_map ?
En l’occurrence là j'ai voulu tester un peu le système de particules et faire un effet simple de trainée derrière la balle. Ça fonctionne bien mais si je veux changer la couleur de la trainée pour les multi-balles qui sont d'une couleur différente, c'est un peu dommage d'avoir à copier les 10 lignes de déclaration du type de la particule juste pour un argument à changer dans le tas (c_white en c_red) :
Code:
// Ball trail particle effect
ballTrail = part_type_create();
part_type_shape(ballTrail, pt_shape_sphere);
part_type_size(ballTrail, 0.5, 0.5, -0.005, 0);
part_type_scale(ballTrail, 1, 1);
part_type_colour1(ballTrail, c_white);
part_type_alpha2(ballTrail, 0.1, 0);
part_type_speed(ballTrail, 0, 0, 0, 0);
part_type_direction(ballTrail, 0, 0, 0, 0);
part_type_gravity(ballTrail, 0, 0);
part_type_orientation(ballTrail, 0, 0, 0, 0, 0);
part_type_blend(ballTrail, false);
part_type_life(ballTrail, 100, 100);
// Si je fais ça, je vais simplement me retrouver avec l'instance id de ballTrail et ça va modifier la couleur à rouge pour toutes les balles
// Copier 10 lignes quasi identiques, c'est un peu laid. Même si je peux faire un script pour ça mais c'est pas beaucoup mieux
multiballTrail = ballTrail;
part_type_colour1(multiballTrail, c_red);
J'ai vu qu'il n'y avait pas besoin à priori de déclarer speed, direction, gravity et orientation si c'est pour mettre 0 partout mais bon c'était pour découvrir un peu le truc et puis ça change pas grand chose en l'état.