Valybit Nouveau
Messages : 9 Localisation : Strasbourg
| Sujet: Particules et mémoires Mar 14 Oct 2014 - 18:02 | |
| Coucou. Je suis sur un projet en ce moment et j'ai décidé de l'embellir un peu avec des petits effets sympa. exempleC'est assez jolie je trouve mais j'ai un problème avec les particules. J'ai une espèce de fuite de mémoires, c'est-à-dire que la ram utilisé ne cesse d'augmenter et donc au bout d'un moment le jeu lag. Je suis sur que le problème vient des particules parce que quand j'enlève tout le système il n'y a aucune fuite. Ce que je comprend pas, c'est pourquoi j'ai une fuite alors que normalement je demande au programme de supprimer le système. Voilà comment j'ai procéder pour ajouter et supprimer les particules : Script des particules que j’associe à la boule de feu dans un évènement Draw : - Code:
-
draw_sefl();
Sname = part_system_create();
particle1 = part_type_create(); part_type_shape(particle1,pt_shape_square); part_type_size(particle1,0.05,0.10,0,0); part_type_scale(particle1,1,1); part_type_color2(particle1,16711680,16776960); part_type_alpha3(particle1,1,0.50,0); part_type_speed(particle1,2,2,0,0); part_type_direction(particle1,270,270,0,0); part_type_gravity(particle1,0,270); part_type_orientation(particle1,270,270,0,0,1); part_type_blend(particle1,0); part_type_life(particle1,10,15);
emitter1 = part_emitter_create(Sname); part_emitter_region(Sname,emitter1,self.x-12,self.x+13,self.y-12,self.y+13,ps_shape_ellipse,1); part_emitter_burst(Sname, emitter1, particle1, 3); Et ensuite quand la boule sort de l'écran je détruit la boule et donc dans l'évènement destroy, pour libérer la mémoire (enfin je pense), j'ai écris : - Code:
-
part_type_destroy(particle1); part_emitter_destroy(Sname, emitter1); part_system_destroy(Sname); Ca fait une semaine que je butte la dessus, si quelqu'un peut m'éclairer là dessus ce serai sympa. |
|
Valybit Nouveau
Messages : 9 Localisation : Strasbourg
| Sujet: Re: Particules et mémoires Mer 15 Oct 2014 - 18:07 | |
| Bon, j'ai bien réfléchis et j'ai peut être une autre façon d'utilisé les particules. Par contre je ne sais pas si ça va changer quoique ce soit. Donc je pensais ( ça m'arrive ) créer un objet qui est qui ne sera que l'effet que je veux donner au boules de feu. Donc dans l'évènement Create de la boule, je pensais créer l'objet qui gère les particule pour la boules, mais mon problème c'est que je ne sais pas comment mettre l'émetteur à la position de la boule qui vient d'être créer. Je crois qu'il faut récupérer les IDs des instances des boules, mais c'est vraiment une partie que beaucoup de mal à comprendre. Je sais pas si je suis clair, si quelqu'un pouvais me dire si je suis sur la bonne voie ça serai cool. |
|
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Particules et mémoires Mer 15 Oct 2014 - 18:40 | |
| Les part_create & co faut le faire dans l'event create, si tu le fais dans l'event draw ça va se répéter chaque step, et donc faire une fuite de mémoire.
|
|
Valybit Nouveau
Messages : 9 Localisation : Strasbourg
| Sujet: Re: Particules et mémoires Mer 15 Oct 2014 - 23:34 | |
| Merci c'était tellement bête, je sais pas pourquoi je l'ai foutu dans un évènement draw, enfin je me suis dit que c'était comme ça qu'il fallait faire puisque ça fonctionnait ^^. |
|
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: Particules et mémoires Jeu 16 Oct 2014 - 1:42 | |
| Ça c'est tout un problème : laisser parce que ca fonctionne |
|
Contenu sponsorisé
| Sujet: Re: Particules et mémoires | |
| |
|