Surface_free et créer un sprite [Résolu] Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème



AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
Le Deal du moment :
Retour en stock du coffret Pokémon ...
Voir le deal
Le deal à ne pas rater :
Retour en stock du coffret Pokémon Zénith Suprême – ...
Voir le deal

 

 Surface_free et créer un sprite [Résolu]

Aller en bas 
3 participants
AuteurMessage
Malax
Utilisateur confirmé: Rang **
Malax


Messages : 496
Localisation : Aix-en-Provence
Projet Actuel : Lemmings Struggle (abandonné)

Surface_free et créer un sprite [Résolu] Empty
MessageSujet: Surface_free et créer un sprite [Résolu]   Surface_free et créer un sprite [Résolu] EmptyMar 3 Juin 2008 - 16:49

Bonjour à tous

A l'aide d'une surface, je crée un sprite qui représente une corde puis je libère la mémoire avec surface_free, dans le but de créer un sprite d'une corde et de l'attribuer dans un objet. Selon la puissance de l'ordi, j'ai l'impression qu' il bug, personnellement sur le mien je n'ai pas atteint de limite mais sur celui de mon frére il fait bugger le jeu après la 10eme corde créé.

Nous pensons que c'est à cause de surface_free ... Quelqu'un sait si il existe une amélioration pour le traitemment des surfaces ou bien, est ce que quelqu'un aurait une autre idée pour créer le sprite d'une corde. J'écris le code a partir de la création de la surface,bien que ca n'a aucun intérêt. (id4 est l'objet corde)

Code:

with (id4)
    {
    surf_tmp2=surface_create(600,600) ;
    surface_set_target(surf_tmp2) ;
    draw_set_color(c_white);
    draw_rectangle(0,0,600,600,0) ;
    draw_set_color(c_green) ;
    draw_line(300,299,300+other.x-other.xg,299+other.y-other.yg) ;
    draw_line(300,298,300+other.x-other.xg,298+other.y-other.yg) ;
    spr = sprite_create_from_surface(surf_tmp2,0,0,600,600,1,1,0,1,0,0) ;
    surface_reset_target() ;
    sprite_index=spr ;
    draw_set_color(c_white);
    surface_free(surf_tmp2) ;
    }

Je mets également en ligne un exe, ou d'ailleurs le bug fonctionne aussi...
http://www.zshare.net/info.html?13049222-c36b2af3e20587c26b82152ee4f84b7f

Voilà merci pour ce beta test, si vous pouviez aussi écrire le nombre de cordes que vous avez pu tirer et la mémoire de votre CG merci d'avance... Comme c'est une version "beta beta" il n'y a que deux options activés, Gp pour grappin et Cr pour creuser.


Dernière édition par Malax le Mar 3 Juin 2008 - 19:39, édité 1 fois
Revenir en haut Aller en bas
nicoulas
*Excellent utilisateur*
nicoulas


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense Surface_free et créer un sprite [Résolu] Panicpr9

Surface_free et créer un sprite [Résolu] Empty
MessageSujet: Re: Surface_free et créer un sprite [Résolu]   Surface_free et créer un sprite [Résolu] EmptyMar 3 Juin 2008 - 17:22

Bon j'ai testé (ma CG a 64 mo de Vram) et au bout d'une trentaine ou quarantaine de lignes, ça rame pour en créer d'autres et ça génère un bug à la surface du terrain :

Surface_free et créer un sprite [Résolu] Bugmy5
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
Malax
Utilisateur confirmé: Rang **
Malax


Messages : 496
Localisation : Aix-en-Provence
Projet Actuel : Lemmings Struggle (abandonné)

Surface_free et créer un sprite [Résolu] Empty
MessageSujet: Re: Surface_free et créer un sprite [Résolu]   Surface_free et créer un sprite [Résolu] EmptyMar 3 Juin 2008 - 17:45

Ok merci du renseignement et de ta participation. J'aimerais absolumment adapter au mieux possible mais je vois pas l'erreur dans le code.
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Surface_free et créer un sprite [Résolu] Empty
MessageSujet: Re: Surface_free et créer un sprite [Résolu]   Surface_free et créer un sprite [Résolu] EmptyMar 3 Juin 2008 - 17:53

fait peut être le sprite_create_from_surface APRES le reset_target, c'est plus propre ^^
Et là, un nouveau sprite est crée à chaque step....
rajoute au début de ton code :
if sprite_exists(spr)
sprite_delete(spr)

Sinon, t'as un nouveau sprite de créer à chaque step/// ça devient vite lourd ^^

_________________
Surface_free et créer un sprite [Résolu] Control-commentTous les icones de gm utilisables sur le cbna ICI  Surface_free et créer un sprite [Résolu] Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Malax
Utilisateur confirmé: Rang **
Malax


Messages : 496
Localisation : Aix-en-Provence
Projet Actuel : Lemmings Struggle (abandonné)

Surface_free et créer un sprite [Résolu] Empty
MessageSujet: Re: Surface_free et créer un sprite [Résolu]   Surface_free et créer un sprite [Résolu] EmptyMar 3 Juin 2008 - 18:38

le problème de sprite_delete c'est quand je l'écris (ou il faut :lng: ) et même avec une alarme qu'il le supprime dans deux steps, il me vire l'image du sprite. Je pense que ca vient du fait qu'il est définit comme ça ... Enfin je sais pas trop mais c'est bizarre. Sinon faudrait que tu m'expliques. Bon je vais essayer ton conseil et je vais aussi essayer de créer les lignes directemment sur l'écran puis de les effacer, comme ça pas de surface à utiliser.

Seulemment en réfléchissant, je ne sais toujous pas si le problème serait à cause des surfaces ou bien du trop grand nombre de sprites créés pendant le jeu ...
Revenir en haut Aller en bas
Malax
Utilisateur confirmé: Rang **
Malax


Messages : 496
Localisation : Aix-en-Provence
Projet Actuel : Lemmings Struggle (abandonné)

Surface_free et créer un sprite [Résolu] Empty
MessageSujet: Re: Surface_free et créer un sprite [Résolu]   Surface_free et créer un sprite [Résolu] EmptyMar 3 Juin 2008 - 19:38

Ben je suis passé sans les surfaces et ça marche. Le code est plus simple... donc voilà Résolu mais merci d'avoir Test

Edit:
Code:

id3=instance_create(xg,yg,obj_grappin) ;
if x<xg{xm=x ;}else{xm=xg ;}
if y<yg{ym=y ;}else{ym=yg ;}
id4=instance_create(xm,ym,obj_corde);
draw_set_color(c_white);
draw_rectangle(view_xview[0],view_yview[0],view_xview[0]+800,view_yview[0]+600,0) ;
draw_set_color(c_green) ;
draw_line(x,y,xg,yg) ;
draw_line(x,y+1,xg,yg+1) ;
spr = sprite_create_from_screen(xm,ym,abs(x-xg),abs(y-yg),1,1,0,1,0,0) ;
id4.sprite_index=spr ;
draw_set_color(c_white);
Revenir en haut Aller en bas
Contenu sponsorisé





Surface_free et créer un sprite [Résolu] Empty
MessageSujet: Re: Surface_free et créer un sprite [Résolu]   Surface_free et créer un sprite [Résolu] Empty

Revenir en haut Aller en bas
 
Surface_free et créer un sprite [Résolu]
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» d3d_end() // surface=créer un sprite // d3d_start() [résolu]
» créer un sprite à partir d'un autre sprite
» Creer une balle a la sortie du canon du l'arme [Resolu]
» Créer un bouton avec un objet et son sprite
» [résolu] Créer un mask

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide confirmés-
Sauter vers: