AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 Changer un sprite à partir d'une autre room

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Changer un sprite à partir d'une autre room    Lun 11 Aoû 2014 - 1:31

Je vais exposer mon problème qui me donne du fil à retordre.

Ca fait des heures que je cherche comment faire ça.. En fait j'ai fait un menu option dans une autre room qui me permet de changer un sprite dans la room du jeu, dans ce cas là il suffit de cocher une case pour changer de sprite. Donc tout simplement cliquer dessus mais ça fait une animation de coche.

Donc dans chacun de ces objects, qui me permettent de changer le sprite qui est dans la room jeu, il y a "changer sprite de l'objet .... en sprite ....". Quand je mets ça dans l'event "clique gauche", ça ne marche pas, quand je mets dans l'event step ça fonctionne mais comme les deux sont persistant, seul le premier object à cliquer est pris en compte donc ça ne marche pas non plus. Si j'enlève "persistant" dans le premier object, ça marche, je peux changer de sprite en cliquant sur le 2ème object, mais si je veux par exemple re cliquer sur le 1er object pour revenir à l'autre sprite, ça ne se change plus vu qu'il n'est pas persistant. Donc je teste sur les 2 premier objects mais il y en a 6 autre.. Pourtant ça me paraissait simple.

Ca se présente comme ça: (oui quand c'est coché ce n'est pas aligné encore  rire2)

Spoiler:
 

C'est tout bête mais ça me prend la tête. Qu'est ce que ça sera quand je vais devoir changer de son en fonction de l'objet qui sera cliqué si je n'arrive même pas à changer les sprites..

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Changer un sprite à partir d'une autre room    Lun 11 Aoû 2014 - 7:55

Bah tu mets dans une variable globale le numéro de la case cochée, et dans la room suivante dans le create de ton objet tu change le sprite en fonction de la variable globale.

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Lun 11 Aoû 2014 - 20:57

Tu n'aurais pas un exemple ? J'ai du mal à comprendre comment ça marche.

J'ai essayé de faire à ma façon mais il y a des messages d'erreur..

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Changer un sprite à partir d'une autre room    Mar 12 Aoû 2014 - 7:10

Dans ton objet case 1, event clic : global.idSprite=1;
Dans l'objet case 2 : global.idSprite=2;
Etc...
Et dans ton autre room, dans le creatr de ton perso :
if(global.idSprite==1) sprite=spr_heros1;
if(global.idSprite==2) sprite=spr_heros2;
Etc...

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Mar 12 Aoû 2014 - 13:48

En fait j'ai mis

if(global.idSprite==1) sprite=sprite9;

if(global.idSprite==2) sprite=sprite7;

Dans l'objet en question

case 1: global.idSprite=1

case 2: global.idSprite=2

Dans les cases en question.

Il y a un message d'erreur quand je clique sur l'objet sans avoir choisi une des cases. (Avant c'était le sprite9 par defaut et je dois cliquer pour que l'objet apparaisse)

Et quand je clique sur une des cases, une fois dans l'autre room, c'est toujours le sprite9 qui apparaît sur l'objet, rien ne change ..

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Changer un sprite à partir d'une autre room    Mar 12 Aoû 2014 - 14:27

J'ai pas compris grand chose donc poste tous tes codes et le message d'erreur, ca reste plus simple ^^

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Mar 12 Aoû 2014 - 14:41

Le message d'erreur:

FATAL ERROR in
action number 1
of Create Event
for object object28:

############################################################################################
VMError!! Occurred - Push :: Execution Error - Variable Get -5.idSprite(100000, 0)
at gml_Object_object28_Create_0 (line 3) - if(global.idSprite==1)
############################################################################################

L'objet 28 c'est celui qui est censé changer de sprite.

Dans les deux objets de case:

case 1: global.idSprite=1

case 2: global.idSprite=2

Dans l'autre room, dans l'event create de l'objet 28:

if(global.idSprite==1) sprite=sprite9;

if(global.idSprite==2) sprite=sprite7;

Quand je clique dans la room game sans avoir cliqué sur une des cases, l'objet 28 est censé apparaître je pense, mais le message d'erreur apparaît.

Dans la room option, si je clique sur une des cases et que je reviens ensuite dans la room game, en faisant apparaître l'objet 28, il n'y a pas de message d'erreur, mais le changement de sprite ne se fait pas, c'est toujours le sprite 9 qui est affiché.

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Changer un sprite à partir d'une autre room    Mar 12 Aoû 2014 - 14:44

case 1: global.idSprite=1

case 2: global.idSprite=2
Je comprend pas, t'as écrit ca direct ? Faut la mettre dans l'event mouse left pressed avec juste global.idSprite=ta valeur;
Et normal que ca marche pas si tu le mets dans la meme room puisqu'il change le sprite dans le create.

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Mar 12 Aoû 2014 - 14:48

J'ai oublié de préciser.

Dans la room option

Dans la case 1, dans l'event mouse pressed, j'ai mis global.idSprite=1

Dans la case 2, dans l'event mouse pressed, j'ai mis global.idSprite=2

Ensuite dans la room game

Dans l'event create de l'objet 28 j'ai mis:

if(global.idSprite==1) sprite=sprite9;

if(global.idSprite==2) sprite=sprite7;

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Changer un sprite à partir d'une autre room    Mar 12 Aoû 2014 - 16:19

Et tout ca dans un execute a piece of code bien sûr ?

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Mar 12 Aoû 2014 - 17:09

Oui bien entendu ^^

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Changer un sprite à partir d'une autre room    Mar 12 Aoû 2014 - 17:23

On sait jamais ^^'
Mais en fait ia pas de problème si tu coche une des deux cases nan ?
Dans le game start initialise ta variable à sa valeur par défaut.

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Mar 12 Aoû 2014 - 20:18

J'ai trouvé !

il fallait pas que je mette sprite=sprite7 mais sprite_index=sprite7 !

Par contre il n'y a pas moyen de mettre un sprite par défaut juste au début ? (par exemple le sprite de la case 1, comme si au début on avait déjà coché la case 1) Parce qu'il y a toujours ce message d'erreur si je ne clique pas sur les cases pour en mettre un.. Je suppose que rien n'est programmé au début donc ça crée un conflit non ?

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Changer un sprite à partir d'une autre room    Mar 12 Aoû 2014 - 21:29

Bah si justement, mets par exemple global.idSprite=1 dans le Game start d'un objet de ta room options.
Et effectivement c'est bien sprite_index, erreur de ma part désolé.

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Mar 12 Aoû 2014 - 22:08

Il y a toujours le message d'erreur :/
___________________________________________
FATAL ERROR in
action number 1
of Create Event
for object object28:

############################################################################################
VMError!! Occurred - Push :: Execution Error - Variable Get -5.idSprite(100000, 0)
at gml_Object_object28_Create_0 (line 2) - if (global.idSprite=1)
############################################################################################

C'est pas grave pour l'erreur, tu m'as déjà bien mis sur la voie ! happy1

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Changer un sprite à partir d'une autre room    Mer 13 Aoû 2014 - 7:04

Quand tu fais un if vaut mieux mettre un double égal : ==, mais autrement je vois pas... :/
Ils sont quand même assez incompréhensible les messages d'erreurs de gms...

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Jeu 14 Aoû 2014 - 13:16

J'ai mis mais toujours ce message d'erreur.. Je pense que c'est à cause du if mais je ne vois pas pourquoi.

_________________


Dernière édition par UnePommeBleue le Jeu 14 Aoû 2014 - 14:15, édité 2 fois
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Changer un sprite à partir d'une autre room    Jeu 14 Aoû 2014 - 13:56

Upload ton projet, j'essaierais de regarder demain...

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Jeu 14 Aoû 2014 - 14:15

J'ai crée un objet avec global.idSprite=1, donc au début il a le sprite1 par defaut. Quand j'active un autre global.idSprite l'instance se détruit.

Donc c'est bon, plus aucun message d'erreur! Merci pour tout Smile

_________________
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Lun 25 Aoû 2014 - 2:11

Désolé du double post mais j'ai un petit problème.

J'ai crée un objet avec global.idSprite=1, donc au début il a le sprite1 par defaut. Dans la room Game.
Mais ce que je ne comprends pas, c'est que si je veux changer le sprite qui se trouve dans la room Game, en cliquant sur global.idSprite=2 qui se trouve dans la room Option, par exemple, je ne peux pas le changer tant que je n'aurais pas cliquer une première fois dans la room Game pour activer le global.idSprite=1. Je ne peux pas directement changer le sprite en cliquant sur global.idSprite=2, il faut obligatoirement que j'active le global.idSprite=1 une fois dans la room Game pour ensuite pouvoir le changer. Je suis bloqué sur ça...

Je veux juste qu'il y ait le sprite 1 par defaut au cas où le joueur n'aurait pas encore changé le sprite et qu'ensuite si il veut le changer, il se change direct, sans avoir l'obligation de faire apparaître le sprite 1 pour pouvoir le changer..

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Changer un sprite à partir d'une autre room    Lun 25 Aoû 2014 - 6:00

Avant de pouvoir changer ta variable faut qu'elle soit initialisée, dans un event create ou game start par exemple.

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Lun 25 Aoû 2014 - 11:28

Tu parles de ça ?

if (global.idSprite==1)
{
sprite_index=sprite9;
}

if (global.idSprite==2)
{
sprite_index=sprite7;
}

if (global.idSprite==3)
{
sprite_index=sprite17;
}

if (global.idSprite==4)
{
sprite_index=sprite16;
}

if (global.idSprite==5)
{
sprite_index=sprite18;
}

C'est déjà inscrit dans un create.

Mais le problème c'est que j'ai crée une instance dans un autre create: global.idSprite=1, pour espérer avoir le sprite 1 en image par défaut (sinon il y a un message d'erreur, je ne sais pas pourquoi, le message d'erreur plus haut dans les posts), ça marche, mais je suis obligé d'activer cette instance une fois (en cliquant dans la room Game pour faire apparaître le sprite 1), pour ensuite pouvoir le changer dans option. Si je vais dans option, que je choisis le sprite 2 par exemple, il ne se changera pas tant que j'aurais pas cliqué une fois pour faire apparaître le sprite "par défaut", c'est pas du tout pratique, un mec qui veut changer le sprite voudra qu'il se change tout de suite au premier clique, il ne voudra pas faire apparaître le sprite 1 par defaut pour ensuite pouvoir faire apparaître le 2eme, ou le 3eme ou les autres. On dirait que le create: global.idSprite=1 est prioritaire sur l'autre instance, mais si je l'enlève, il n'y aura aucun sprite par défaut, tu es obligé d'aller dans option pour choisir un sprite et ensuite cliquer dans la room game. SI tu ne le fais pas, il n'y a pas de sprite et il y a un message d'erreur, c'est pas pratique non plus.

Je ne sais pas si tu as compris mon problème ^^

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Changer un sprite à partir d'une autre room    Lun 25 Aoû 2014 - 11:31

global.idSprite=1 DOIT s'exécuter en premier, donc faut que tu le mette dans ta room avec les options, où tu choisis ton sprite, dans un event de type create.

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Lun 25 Aoû 2014 - 17:18

Je comprends pas ce que tu veux dire.. Enfin où se trouve ce que tu me dis. Je vais dans settings, donc dans les options de la room, il y a "creation code", mais je ne peux pas mettre d'event. Si je mets un code, il y a un message d'erreur par rapport à l'autre instance.

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Changer un sprite à partir d'une autre room    Lun 25 Aoû 2014 - 17:20

Dans ta room avec les options tu fous un objet avec dans le create global.idSprite=1....

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Lun 25 Aoû 2014 - 19:08

Pour moi dans les options, c'est dans "settings" et "creation code".. Il y a plusieurs options. J'ai essayé à partir du creation code de faire apparaître l'objet où se trouve le create global.idSprite=1, mais ça ne fonctionne pas, il y a le même message d’erreur une fois que je clique dans la room.

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Changer un sprite à partir d'une autre room    Lun 25 Aoû 2014 - 19:24

Nan mais nan, ca a rien à voir... Dans ta room, là ou tu place les objets (je parle du menu), tu va placer un unique exemplaire d'un objet qui dans son event create contiendra la code indiqué.

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
UnePommeBleue
Plutôt bien
avatar

Messages : 48
Projet Actuel : Reflex Game

ZEPPEMAN

Spooky

MessageSujet: Re: Changer un sprite à partir d'une autre room    Lun 25 Aoû 2014 - 20:41

Ahh oui je vois dans l'autre room ! Mais ça ne marche pas.. Il y a le même message d'erreur une fois que je clique dans la room game. :/

Donc je remets le global.idSprite = 1 dans la room game. Ca ne bug plus mais:

Je comprends pas, j'ai même crée un objet qui fait que dès que je clique sur global.idSprite = 2, une timeline se déclenche tout de suite , la timeline supprime l'instance avec le global.idSprite = 1.

Normalement il y a donc le sprite 1 par defaut, mais à partir du moment où dans option je choisis le sprite 2, le sprite 1 devrait être supprimé... Franchement il n'y a rien de plus logique, mais ça ne fonctionne pas, je sèche complètement là.

Maintenant ça me met ça quand je vais dans la room option:

FATAL ERROR in
action number 1
of Create Event
for object object31:

############################################################################################
VMError!! Occurred - Push :: Execution Error - Variable Get -5.idSprite(100000, 0)
at gml_Object_object31_Create_0 (line 1) - if global.idSprite=2
############################################################################################

Je suis perdu et ça me gave.. mop

_________________
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Changer un sprite à partir d'une autre room    

Revenir en haut Aller en bas
 
Changer un sprite à partir d'une autre room
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Choix de l'emplacement de la prise optique et de la box
» matin et soir, qd donner autre chose (ou en + )que le lait ?
» Déplacer un logiciel d'une partition à l'autre
» A quel age changer de lit ?
» On doit tous partir un jour ou l'autre :(

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