| Nom d'un objet non scripté | |
|
|
Auteur | Message |
---|
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Nom d'un objet non scripté Sam 23 Juin 2007 - 23:13 | |
| Bon, je voit bien comment marche : blabla=object_add()
Mais comment serait-il possible de laisser l'utilisateur choisir le nom de l'objet?
et tant qu'on y est, c'est quoi l'event_number, j'ai pas compris ça. Ah, pas la peine de sortir le fichier d'aide de GM, je l'ai lu..... Merci d'avance.... _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
Dan_lizhot Modérateur
Messages : 3463 Projet Actuel : Crypt Of Darkness
| Sujet: Re: Nom d'un objet non scripté Sam 23 Juin 2007 - 23:22 | |
| - M@d_Doc a écrit:
- Mais comment serait-il possible de laisser l'utilisateur choisir le nom de l'objet?
j'imagine que ceci pourrait fonctionner - Code:
-
name=get_string('Quel est le nom de votre objet',""); name=object_add(); L'event_number, bonne question, je pense que c'est une variable qui dépend des events qui sont en odre dans l'espace réservé lorsque l'on programme un objet, exemple si la collision avec un mur est le 4ième event, je pense qu'on peut mettre un code du genre - Code:
-
if event_number=4{action}
|
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Nom d'un objet non scripté Sam 23 Juin 2007 - 23:49 | |
| - Code:
-
name=get_string("nom : ","") name=object_add() object_event_add(name,ev_draw,1,"draw_rectangle(0,0,50,50,false)") instance_create(0,0,name) En faisant ça, GM détecte un nouvel objet, mais ne l'appelle pas comme je tape, et en plus quand je fais show local variables dans le mode ss échec, il ne trouve pas d'instance au nom de l'objet que j'ai tapé. Par contre, l'objet crée ainsi s'appelle : __newobject1 bizarre Il me met le même nom si je fait plouf=object_add() _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
Dan_lizhot Modérateur
Messages : 3463 Projet Actuel : Crypt Of Darkness
| Sujet: Re: Nom d'un objet non scripté Sam 23 Juin 2007 - 23:53 | |
| intéressent à savoir |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Nom d'un objet non scripté Sam 23 Juin 2007 - 23:57 | |
| sauf qu'on a toujours pas de réponse.... :snif2: _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Nom d'un objet non scripté Dim 24 Juin 2007 - 11:20 | |
| Pitiéééééé, il me faut ce code...... :snif2: :snif2: :snif2: :snif2: :snif2: _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: Nom d'un objet non scripté Dim 24 Juin 2007 - 12:19 | |
| Avec les fonctions pré-conçues, apparament GM n'autorise pas le changement de nom des objets, d'après ce qui est dit dans l'aide ...
Si tu tiens avoir absolument un nom pour tes objets utilise la méthode banzaï : met une variable de texte ( le nom choisi ) pour chaque objet ( avec "with" ).
J'espère que ça t'aidera ! |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Nom d'un objet non scripté Dim 24 Juin 2007 - 12:24 | |
| je comprend ta méthode, mais comment je retrouve l'objet avec ce string, moi? Parce que les noms bizarres, ils sont plus ou moins imprévisibles et pas faciles à retenir. Je dois scannés tous les objets jusqu'à en trouver un qui a le bon string? _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: Nom d'un objet non scripté Dim 24 Juin 2007 - 23:16 | |
| Alors voila Il est impossible de definir l'id de l'objet car la fonction - Code:
-
object_add() te retourne l'id de ceui-ci par contre, il est possible de définir l'index de celui-ci en faisant par exemple : - Code:
-
objectID = object_add() objectID.object_index = "Le Nom de ton Objet"
--> Voila, j'espère que cela va t'aider |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: Nom d'un objet non scripté Dim 24 Juin 2007 - 23:18 | |
| Alors voila Il est impossible de definir l'id de l'objet car la fonction - Code:
-
object_add() te retourne l'id de ceui-ci par contre, il est possible de définir l'index de celui-ci en faisant par exemple : - Code:
-
objectID = object_add() objectID.object_index = "Le Nom de ton Objet"
--> Voila, j'espère que cela va t'aider |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Nom d'un objet non scripté Lun 25 Juin 2007 - 0:17 | |
| merci, j'essaye des que je suis chez moi. _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
Blizter Banni(e)
Messages : 2002
| Sujet: Re: Nom d'un objet non scripté Lun 25 Juin 2007 - 1:06 | |
| Malgré ce que tu as dit : - Code:
-
object_index* Index of the object this is an instance of. This variable cannot be changed.
Bon, ne peut être changer. Et je ne vois pas pourquoi l'utilisateur devrait choisir un nom... Tu peux lui faire croire que qu'il lui donne un nom en lui donnant une variable global qui renvoit l'id de l'objet. Tu peux faire une variable global qui a le nom de l'objet et qui contient son id avec : - Code:
-
nom=get_string("Nom de l'objet","Simon"); if(!variable_global_exists(nom)) { variable_global_set(nom,tonObjet.id); } bye |
|
| |
Levans Utilisateur confirmé: Rang *****
Messages : 1598 Localisation : France -> Île de France -> Essonne -> Gif sur Yvette
| Sujet: Re: Nom d'un objet non scripté Lun 25 Juin 2007 - 8:25 | |
| on peut faire ça : - Code:
-
nom = get_string("nom de l'objet"); execute_string(nom + "=object_add()"; MAIS : toutes tes actions utilisant l'objet devront être sous la forme de execute_string(""); et à l"int"rieur, tu devra toutjours remplacé la variable contenant l'objet par " + nom + ", et la variable nom ne devra plus changer. |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: Nom d'un objet non scripté Lun 25 Juin 2007 - 12:17 | |
| - Levans a écrit:
- on peut faire ça :
- Code:
-
nom = get_string("nom de l'objet"); execute_string(nom + "=object_add()"; MAIS : toutes tes actions utilisant l'objet devront être sous la forme de execute_string("");
et à l"int"rieur, tu devra toutjours remplacé la variable contenant l'objet par " + nom + ", et la variable nom ne devra plus changer. Ca revient au même que de faire par exemple : machin=object_add() Tu peux aussi ne faire qu'un objet, c'est à dire que tu crée des instances au lieu d'objets et ainsi tu peux faire ( en connaissant le nom attribué dans une chaîne texte ) : with ton_objet{if(text="tontexte"){other.choose=id}} Ainsi, ton objet principal mettra dans la variable "choose" l'id de l'objet de text "tontexte" ... EDIT : Ou alors tu pourrais faire une base de donnée sous forme de tableaux pour avoir le bon nom : Exemple : La variable global.max représente le nombre d'objets en tout - Code:
-
//Création d'objet global.max+=1 global.obj[global.max]=object_add global.nom[global.max]="tontexte" //Désignation d'objet ( en connaissant le texte ) i=1 while(i<=global.max) { if(global.nom[i]="tontexte"){objet=global.obj[i];break;} i+=1 }
Ton objet sera récupéré dans la variable objet Voilà En espérant que ces lignes t'aideront ! |
|
| |
Levans Utilisateur confirmé: Rang *****
Messages : 1598 Localisation : France -> Île de France -> Essonne -> Gif sur Yvette
| Sujet: Re: Nom d'un objet non scripté Lun 25 Juin 2007 - 20:35 | |
| - Damator a écrit:
- Levans a écrit:
- on peut faire ça :
- Code:
-
nom = get_string("nom de l'objet"); execute_string(nom + "=object_add()"; MAIS : toutes tes actions utilisant l'objet devront être sous la forme de execute_string("");
et à l"int"rieur, tu devra toutjours remplacé la variable contenant l'objet par " + nom + ", et la variable nom ne devra plus changer. Ca revient au même que de faire par exemple : machin=object_add() non. - Code:
-
nom = get_string("nom de l'objet"); L'utilisateur rentre "machin" donc : nom = "machin" - Code:
-
execute_string(nom + "=object_add()"); devient - Code:
-
execute_string("machin=object_add()"); donc, le code executé : - Code:
-
machin=object_add(); |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: Nom d'un objet non scripté Lun 25 Juin 2007 - 21:08 | |
| - blizter a écrit:
- Malgré ce que tu as dit :
- Code:
-
object_index* Index of the object this is an instance of. This variable cannot be changed.
Bon, ne peut être changer. Et je ne vois pas pourquoi l'utilisateur devrait choisir un nom... Tu peux lui faire croire que qu'il lui donne un nom en lui donnant une variable global qui renvoit l'id de l'objet. Tu peux faire une variable global qui a le nom de l'objet et qui contient son id avec :
- Code:
-
nom=get_string("Nom de l'objet","Simon"); if(!variable_global_exists(nom)) { variable_global_set(nom,tonObjet.id); } bye Je t'explique : l'index de l'objet peut être modifié à condition que tu créé cet objet juste avant. T'as qu'a esssayer mon code, et faire dans ta console - Code:
-
instance_number('l'index que tu lui a choisi') et tu verras que cela fonctionnne :nah: |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: Nom d'un objet non scripté Lun 25 Juin 2007 - 21:09 | |
| - blizter a écrit:
- Malgré ce que tu as dit :
- Code:
-
object_index* Index of the object this is an instance of. This variable cannot be changed.
Bon, ne peut être changer. Et je ne vois pas pourquoi l'utilisateur devrait choisir un nom... Tu peux lui faire croire que qu'il lui donne un nom en lui donnant une variable global qui renvoit l'id de l'objet. Tu peux faire une variable global qui a le nom de l'objet et qui contient son id avec :
- Code:
-
nom=get_string("Nom de l'objet","Simon"); if(!variable_global_exists(nom)) { variable_global_set(nom,tonObjet.id); } bye Je t'explique : l'index de l'objet peut être modifié à condition que tu créé cet objet juste avant. T'as qu'a esssayer mon code, et faire dans ta console - Code:
-
instance_number('l'index que tu lui a choisi') et tu verras que cela fonctionnne :nah: |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: Nom d'un objet non scripté Mar 26 Juin 2007 - 10:25 | |
| Oui c'est bien ce que je dit ! Mais ça ne résout pas son problème !! |
|
| |
Blizter Banni(e)
Messages : 2002
| Sujet: Re: Nom d'un objet non scripté Mar 26 Juin 2007 - 17:25 | |
| Ah ! alors oui, daminator, ça résout son problème. |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: Nom d'un objet non scripté Mar 26 Juin 2007 - 21:29 | |
| Merci^^ J'espère qu'il saura l'intégrer sinon ba il n'a qu'à me le demander |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Nom d'un objet non scripté Jeu 5 Juil 2007 - 13:08 | |
| Finalement, c'est tout facile.... - Code:
-
// créer un objet, dont le nom est choisi : //on appelle pour l'exemple l'objet AA
execute_string(get_string("nom de l'objet : ","AA")+"=object_add()") - Code:
-
//pour créer une instance de cet objet, on l'appelle simplement : instance_create(510,210,AA) - Code:
-
//On vérifie que l'instance a été créee comme il faut : if instance_exists(AA) {show_message("Gagne !!######Yeeehaaaaaaa")} _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
Contenu sponsorisé
| Sujet: Re: Nom d'un objet non scripté | |
| |
|
| |
| Nom d'un objet non scripté | |
|