|
| obtenir le nom d'une variable et non la valeur | |
| | Auteur | Message |
---|
blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: obtenir le nom d'une variable et non la valeur Ven 28 Jan 2011 - 21:55 | |
| Salut Je sais, la question est bizarre . Je m'explique : voilà, pour mon soft 2D, j'enregistre un fichier txt contenant les paramètres d'un brush (pour les preset de brush ). Je veux donc obtenir ça dans le fichier texte : - Code:
-
global.size=50; global.transparence=100; global.rotation=0; etc
Alors, j'ai essayé de créer un petit script qui m'évite d'avoir à répéter 50 fois la même chose. Voici donc mon script (ftw()) : - Code:
-
file_text_write_string((fileid),string(argument0)+"="+string(argument0)+";") file_text_writeln(fileid) ;
Je l'utilise de la manière suivante : - Code:
-
ftw(global.size); ftx(global.transparence); ftw(global.rotation); etc..
Et je voudrais obtenir ce que j'ai mis au début, mais j'obtiens : - Code:
-
50=50; 100=100; 18=18;
d'où ma question : comment puis avoir : global.size=100 au lieu de 100=100 En gros, comment avoir le nom de la variable plutôt que sa valeur ? Merci |
| | | D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: obtenir le nom d'une variable et non la valeur Ven 28 Jan 2011 - 22:00 | |
| Là, comme ça, je dirais : - Code:
-
file_text_write_string(fileid,"global."+argument0+"="+string(variable_global_get(argument0))+";") file_text_writeln(fileid) ; Et tu passes le nom de ta variable sous forme de string, sans le "global.". Par contre si tu as des variables locales il te faut un deuxième script :/ |
| | | blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: obtenir le nom d'une variable et non la valeur Ven 28 Jan 2011 - 22:17 | |
| - D-z a écrit:
- Là, comme ça, je dirais :
- Code:
-
file_text_write_string(fileid,"global."+argument0+"="+string(variable_global_get(argument0))+";") file_text_writeln(fileid) ; Et tu passes le nom de ta variable sous forme de string, sans le "global.". Par contre si tu as des variables locales il te faut un deuxième script :/ super, ça marche nickel ! Merci beaucoup |
| | | D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: obtenir le nom d'une variable et non la valeur Ven 28 Jan 2011 - 22:45 | |
| |
| | | blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: obtenir le nom d'une variable et non la valeur Ven 4 Fév 2011 - 18:43 | |
| salut
je me permets de relancer ce sujet, car je cherche à envoyer vers un script le nom d'une variable locale d'un autre autre objet, et dans le script récupérer le nom et la valeur de cette variable.
imaginons que obj01.variable==152
Par exemple, je voudrais envoyer vers un script : obj01.variable
et que le script me permette d'avoir à la fois "obj01.variable" (le nom), et la valeur de obj01.variable soit 152.
C'est possible ?
|
| | | onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: obtenir le nom d'une variable et non la valeur Ven 4 Fév 2011 - 18:58 | |
| Si j'ai bien compris tu peut envoyer une chaine de caractère, comme "objet.nom" et utiliser execute_string. Néanmoins cette méthode est très sale donc je te la déconseille. Tu veux faire ça pourquoi exactement ? |
| | | blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: obtenir le nom d'une variable et non la valeur Ven 4 Fév 2011 - 19:08 | |
| - onilink_ a écrit:
- Si j'ai bien compris tu peut envoyer une chaine de caractère, comme "objet.nom" et utiliser execute_string.
Néanmoins cette méthode est très sale donc je te la déconseille. Tu veux faire ça pourquoi exactement ? oui, j'ai utiliser execute_string et c'est toutcakcak, je te l'accorde . En fait, je suis parti du fichier que m'avait envoyé TDT (son brush engine) et je souhaite créer un script pour une case à cocher. Pour les variables globales, ça va, car je les ai récupéré sans problème avec variable_global_get(). Et j'y suis arrivé avec les variable local aussi avec une méthode très proche. néanmoins, si tu as une méthode n'utilisant pas execute_string(), je suis preneur . voici le script que j'utilise (ce n'est pas terrible, mais ça me permet d'éviter de noter 5 lignes par case à cocher, donc c'est plutôt cool en fait : . Mais si tu as mieux en aussi simple, voire plus simple, n'hésites pas. - Code:
-
/* casecoche(x,y,taille,"variable global ou local",intitulé, 1 ou 0 (global ou local )) argument3 = "size" (venant de global.size par exemple) ou "Variable" (une variable de l'objet UI_o) argument5 : on lui dit si c'est variable global ou local. */
var name, result, tempo; if argument5==0 { tempo =variable_local_get(argument3); }
if(Mouse_On_Area(x+argument0,y+argument1,argument2,argument2)) { if argument5 { name="global."+argument3+"^= mouse_check_button_pressed(mb_left);" execute_string(name) } else if argument5==0 { tempo^= mouse_check_button_pressed(mb_left) variable_local_set(argument3,tempo) } } if argument5 { draw_background_part(bck_gui,16*variable_global_get(argument3),16,16,16,x+argument0,y+argument1); } else if argument5==0 { draw_background_part(bck_gui,16*variable_local_get(argument3),16,16,16,x+argument0,y+argument1); } draw_text(x+argument0+24,y+argument1,argument4);
Utilisation : - Code:
-
casecoche(X,156,16,"interpolate","Lissage",1) casecoche(X,216,16,"autosave","Autosave",0)
Merci . |
| | | blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: obtenir le nom d'une variable et non la valeur Sam 5 Fév 2011 - 10:35 | |
| bon, en testant, je me suis rendu compte que le script ne marchait pas même s'il afficher la case à cocher (cochée/décochée).
J'ai essayé de récupérer ma variable local par variable_local_get(argument3), mais ça ne marche pas. (argument étant par exemple "obj01.variable")
Comment puis-je récupérer la variable locale d'un objet1 dans un script utilisé par un autre objet2 (le nom et bien sur la valeur de cet objet1) ?
Merci.
|
| | | Contenu sponsorisé
| Sujet: Re: obtenir le nom d'une variable et non la valeur | |
| |
| | | | obtenir le nom d'une variable et non la valeur | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |