Crin Utilisateur confirmé: Rang **
Messages : 329
| Sujet: Probleme Mplay Dim 28 Nov 2010 - 18:31 | |
| Salut, J'essaye a utiliser le multijoueur de game maker, cependant j'ai quelques problèmes. C'est un jeu tout simple ou le but est d'aller d'un point A à un point B en évitant certain obstacle. Le jeu se joue a 2 joueur, chaque joueur controlle une fusée probleme 1 résolu (une erreur bête) - Citation :
- 1er problème : L'affichage de la fusée de l'autre joueur.
J'ai ce code dans le step de la fusée 1:
- Code:
-
if(global.joueur=1) {
if(keyboard_check(vk_up) and speed<5) {motion_add(image_angle,0.4)}
if(keyboard_check(vk_left)) {image_angle+=2}
if(keyboard_check(vk_right)) {image_angle-=2}
mplay_data_write(100,x) mplay_data_write(101,y) mplay_data_write(102,speed) mplay_data_write(103,direction) mplay_data_write(104,image_angle) }
if(global.joueur=2) { x=mplay_data_read(100) y=mplay_data_read(100) speed=mplay_data_read(102) direction=mplay_data_read(103) image_angle=mplay_data_read(104) } Le joueur 2 voit la fusée 1 se déplacer mais elle n'est pas au bon endroit, ne se dirige pas dans le même sens ect...
2eme probleme : La gestion des astéroideJ'ai 50 astéroide créer aléatoirement dans la map Voila le code dans create : - Code:
-
if(global.joueur=1) {
image_speed=0 image_single=random(2) a=false rota=-2+random(4)
while (!place_free(x,y)) { x = random(room_width); y = random(room_height); }
while(distance_to_object(obj_terre)<500) { x = random(room_width); y = random(room_height); }
speed=0.2+random(0.5) direction=random(360)
mplay_data_write(1000000+id,x) mplay_data_write(2000000+id,y) mplay_data_write(3000000+id,speed) mplay_data_write(4000000+id,direction) mplay_data_write(5000000+id,rota) }
if(global.joueur=2) { x=mplay_data_read(1000000+id) y=mplay_data_read(2000000+id) speed=mplay_data_read(3000000+id) direction=mplay_data_read(4000000+id) rota=mplay_data_read(5000000+id) }
Je sais que si les 2 jeu ne sont pas lancer exactement au même moment, les astéroides sont décaler. Mais normalement ils devraient tous de même avoir la même place initiale non ? pourtant ce n'est pas le cas. Voici mon .gmk ( gamemaker8 ) : Voir le Fichier : la_conquet_de_mars.gmk
Dernière édition par CrinDégun le Dim 28 Nov 2010 - 21:39, édité 1 fois |
|
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: Probleme Mplay Dim 28 Nov 2010 - 18:38 | |
| je vais essayer de me poser sur le cas (en clair, je vais regarder ou est le probleme XD)
edit :
premier probleme :
voici ce que je lis : dans le premier joueur :
mplay_data_write(100,x) mplay_data_write(101,y) [...] x=mplay_data_read(100) y=mplay_data_read(100)
ta fait a copier coller raté, change le le 0 par 1
ps sa sert stricatement a rien le "speed=mplay_data_read(102)", tu peut l'enlever
|
|
Crin Utilisateur confirmé: Rang **
Messages : 329
| Sujet: Re: Probleme Mplay Dim 28 Nov 2010 - 18:52 | |
| Oui je viens aussi de trouver le 1er problème... une erreur bête Tu ne sais pas comment gérer un grand nombre d'objets identique ? |
|
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: Probleme Mplay Dim 28 Nov 2010 - 19:16 | |
| |
|
Crin Utilisateur confirmé: Rang **
Messages : 329
| Sujet: Re: Probleme Mplay Dim 28 Nov 2010 - 21:44 | |
| quelqu'un sait comment gérer plein d'objet similaire en mutlijoueur ? J'ai un repeat qui créer 50 astéroïde. ensuite dans create je leur atribus les différente variable : image_speed=0 - Code:
-
if(global.joueur=1) {
image_single=random(2) rota=-2+random(4) s=1+random(1) direction=random(360)
while (!place_free(x,y)) { x = random(room_width); y = random(room_height); }
while(distance_to_object(obj_terre)<500) { x = random(room_width); y = random(room_height); }
mplay_data_write(1000000+id,x) mplay_data_write(2000000+id,y) mplay_data_write(3000000+id,speed) mplay_data_write(4000000+id,direction) mplay_data_write(5000000+id,rota) mplay_data_write(6000000+id,image_single) } puis je met une alarm a 1sec et je lis ceci : - Code:
-
x=mplay_data_read(1000000+id) y=mplay_data_read(2000000+id) speed=mplay_data_read(3000000+id) direction=mplay_data_read(4000000+id) rota=mplay_data_read(5000000+id) image_single=mplay_data_read(6000000+id) Mais ça ne marche pas, les astéroïde bouge pendant une seconde puis se figent et ils n'ont pas la même position sur le serveur et le client... Ps : Merci pour ton aide Gabin49 |
|
Contenu sponsorisé
| Sujet: Re: Probleme Mplay | |
| |
|