Malax Utilisateur confirmé: Rang **
Messages : 496 Localisation : Aix-en-Provence Projet Actuel : Lemmings Struggle (abandonné)
| Sujet: Surface et multijoueurs Jeu 31 Juil 2008 - 20:04 | |
| Hello, Comme certains peuvent s'en douter, gérer des surfaces et en même temps implanter du multi dans un jeu peut s'avérer fastidieux. A mon grand désarroi, en mettant le jeu en multijoueurs les opérations détaillés suivantes ne s'éxecute plus. Il n'y a plus de création de sprites visible à l'écran. Pour les utilisateurs débutants jeté y un coup d'oeil mais si vous utilisez la même méthode laissez un copyright à un certain ... (j'ai plus son nom mais j irais le chercher). Pour Info, une surface est découpée en divers objets appelés ground, puis lors de la création de ces objets ground (qui appartiennent aux parents ground_parent) on copie une partie de la surface dans chaque sprite correspondant. Je me demande si il y a un moyen de traiter ces opérations pendant un chargement par exemple, mais disons à part et avant de passer dans la room.... pas en même temps que le controle du réseau est effectué (dans l event create au premier step). Voilà il n'y a pas d'erreurs à trouver en dessous, seulement savoir si quelqu'un aurait une idée ? argument0 est le nom du sprite pour le décor, - Code:
-
var tmp,w,h; w=floor(sprite_get_width(argument0)) h=floor(sprite_get_height(argument0))
global.surf_dt=surface_create(w,h);
surface_set_target(global.surf_dt); draw_set_color(c_white); draw_rectangle(0,0,room_width,room_height,0); draw_sprite(argument0,0,0,0); surface_reset_target();
for (i=0; i<w; i+=128) for (j=0; j<h; j+=128) { tmp=instance_create(i,j,ground); } surface_free(global.surf_dt)
"ground_parent" - Code:
-
tmp_surf=surface_create(128,129); surface_copy_part(tmp_surf,0,0,global.surf_dt,x,y,x+128,y+128); surface_set_target(tmp_surf); draw_line_color(0,128,128,128,c_white,c_white); surface_reset_target();
spr=sprite_create_from_surface(tmp_surf,0,0,128,129,1,1,0,1,0,0); sprite_index=spr;
|
|
Malax Utilisateur confirmé: Rang **
Messages : 496 Localisation : Aix-en-Provence Projet Actuel : Lemmings Struggle (abandonné)
| Sujet: Re: Surface et multijoueurs Ven 1 Aoû 2008 - 19:45 | |
| En ne se servant pas des surfaces (en prenant sprite_create_from_screen) j'ai l'impression que c'est autant rapide. D'après mes tests les deux opérations (sprite_create_from_surface) mettent toutes les deux 16 ms. Pensez vous que c'est possible et pourquoi sont-elles toutes les deux aussi rapides ? Je pensais qu'en utilisant les surfaces (et la mémoire de la carte graphique) je gagnerais en rapidité. En fin de compte la programmation est plus lourde et pas plus efficace .... Enfin dans mon cas l'utilisation des surfaces n'était peut être pas assez suffisante. Il me reste plus qu'à tout changé |
|