AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -40%
Tefal Ingenio Emotion – Batterie de cuisine 10 ...
Voir le deal
59.99 €

 

 Surface et multijoueurs

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


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

Surface et multijoueurs Empty
MessageSujet: Surface et multijoueurs   Surface et multijoueurs EmptyJeu 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 ?

Event - Create

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)

Event - Create "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;
Revenir en haut Aller en bas
Malax
Utilisateur confirmé: Rang **
Malax


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

Surface et multijoueurs Empty
MessageSujet: Re: Surface et multijoueurs   Surface et multijoueurs EmptyVen 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é colere2
Revenir en haut Aller en bas
 
Surface et multijoueurs
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Multijoueurs
» Jeu multijoueurs
» Problèmes multijoueurs.
» Multijoueurs commandes
» Armes pour le multijoueurs

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: