Accueil­FAQ­Rechercher­S'enregistrer­Membres­Groupes­Connexion
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 création d'une instance avant un changement de room

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
denise66
Ptit nouveau
Ptit nouveau


Féminin Nombre de messages: 18
Age: 43
Etudes: histoire, TIC, ingénierie pédagogique
Date d'inscription: 17/08/2009

MessageSujet: création d'une instance avant un changement de room   Jeu 22 Oct - 22:37

Dans mon jeu, pour passer à la room suivante, un certain nombre de conditions doivent être remplies.
Par ailleurs, si ces conditions sont remplies, un objet (obj_felicitations) devrait apparaître quelques secondes à l'écran avant de passer à la room suivante.

Mon problème est le suivant: l'objet obj_felicitations ne s'affiche pas à l'écran, comme je le souhaiterais, avant qu'on ne passe à la room suivante. Par contre, si j'enlève la ligne de code room_goto_next(), mon objet s'affiche. Mais évidemment, je reste, dans ce cas, dans la même room, ce qui ne correspond pas à mon intention de départ.


Mon code est le suivant:

// conditions qui doivent être remplies pour passer à la room suivante
if (position_meeting(348,493,obj_vitrage_definitif))&&(position_meeting(483,678,obj_porte_definitif))&&(position_meeting(605,370,obj_vitre_definitif))&&(instance_number(obj_debris_portes_vitrees)=0)
&&(instance_number(obj_debris_verres_ramasses)=0)

// création de l'instance felicitations
{
instance_create(400,500,obj_felicitations);
sleep(2000);
room_goto_next();
}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
shigeru naki
Discret
Discret


Masculin Nombre de messages: 155
Age: 17
Programme utilisé (Gm/RmXp/...): GM 7.0 lite
Etudes: DUT informatique
Date d'inscription: 07/07/2009

MessageSujet: Re: création d'une instance avant un changement de room   Ven 23 Oct - 5:57

s'il n'apparait pas lorsqu'il y a room_goto_next c'est peut-etre parce que lorsqu'il apparait, la room suivante remplace aussitôt la room où ton objet était présent(farfelu je sais "-_- mais pour ma part je n'ai jamais vraiment eu confiance en sleep) .

Donc essaye en remplaçant sleep(2000) par une alarm[ ] que tu initialisera à 60.
Tu mettra room_goto_next dans l'évent de cette alarme.

_________________
Pacman Evolution
jeu d'arcade en 10 niveaux tous aussi special ;-)

http://upload.gmzone.fr/pacman%20evolution1.3.zip

projet Game Kingdom (en cours) global : 40%
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
D-z
Dieu parmis les dieux
Dieu parmis les dieux


Masculin Nombre de messages: 3918
Age: 16
Programme utilisé (Gm/RmXp/...): GM 6.1 pro ; GM 7.0 pro
Etudes: Seconde
Loisirs: Aïkido, Ordinateur
Date d'inscription: 03/09/2005

MessageSujet: Re: création d'une instance avant un changement de room   Ven 23 Oct - 21:19

sleep(t) fige le jeu en plein milieu de l'event où il est appelé, donc dans ton cas avant que l'event Draw de ton obj_felicitations ne s'exécute pour l'afficher à l'écran.

Voi ci deux solutions simples :

1) Crée ton obj_felicitations sans changer de room, et dedans mets :

Create :
Code:
alarm[0]=2*room_speed;


Alarm 0 :
Code:
room_goto_next();


2) Utilise ce code :
Code:
// conditions qui doivent être remplies pour passer à la room suivante
if (position_meeting(348,493,obj_vitrage_definitif))&&(position_meeting(483,678,obj_porte_definitif))&&(position_meeting(605,370,obj_vitre_definitif))&&(instance_number(obj_debris_portes_vitrees)=0)
&&(instance_number(obj_debris_verres_ramasses)=0)
{draw_sprite(spr_felicitations,0,400,500); //Dessine le sprite de félicitations
screen_refresh(); //Actualise l'écran donc affiche le sprite
sleep(2000);
room_goto_next();
}


Et tu peux supprimer ton obj_felicitations. À noter que cette méthode est beaucoup plus légère donc je te la conseille ;)

Et au passage bienvenue sur GMZone :)

_________________
Z-Rox


Dernière édition par D-z le Sam 24 Oct - 19:14, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
denise66
Ptit nouveau
Ptit nouveau


Féminin Nombre de messages: 18
Age: 43
Etudes: histoire, TIC, ingénierie pédagogique
Date d'inscription: 17/08/2009

MessageSujet: Re: création d'une instance avant un changement de room   Sam 24 Oct - 16:55

Merci beaucoup pour vos explications.
J'ai utilisé finalement la méthode qui recourt à la fonction draw_sprite puisqu'elle est supposée être plus légère. Cela marche à merveille! Je suis très contente du résultat.
Juste une petite précision, dans la fonction draw_sprite il faut ajouter un argument supplémentaire, le numéro de la subimage que l'on souhaite utiliser : draw_sprite(sprite,subimg,x,y) . J'avais au départ un message d'erreur à ce sujet.
Merci encore pour votre aide.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
D-z
Dieu parmis les dieux
Dieu parmis les dieux


Masculin Nombre de messages: 3918
Age: 16
Programme utilisé (Gm/RmXp/...): GM 6.1 pro ; GM 7.0 pro
Etudes: Seconde
Loisirs: Aïkido, Ordinateur
Date d'inscription: 03/09/2005

MessageSujet: Re: création d'une instance avant un changement de room   Sam 24 Oct - 19:14

Toutes mes excuses, et bien vu ;)

_________________
Z-Rox
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 

création d'une instance avant un changement de room

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Game Maker Zone :: Zone : Game Maker :: Game Maker - Problèmes :: GM - Problèmes : Niveau moyen-
Poster un nouveau sujet   Répondre au sujet