AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Cartes Pokémon 151 : où trouver le ...
Voir le deal
Le Deal du moment : -29%
PC portable – MEDION 15,6″ FHD Intel i7 ...
Voir le deal
499.99 €

 

 Accéder à une constante via un string.

Aller en bas 
5 participants
AuteurMessage
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

Accéder à une constante via un string. Empty
MessageSujet: Accéder à une constante via un string.   Accéder à une constante via un string. EmptyMar 3 Avr 2012 - 11:49

Bonjour, j'ai était bloqué sur un truc tout bête: récupérer la valeur d'une constante via une chaîne de caractères.

Pour des ressources et des variables globales on fait comme ça :
Code:
variable_global_get('nom_de_la_ressource');
Pour des variables locales:
Code:
variable_local_get('nom_de_la_variable');

Mais pour des constantes on ne peut pas.
Voici donc le script à appeler une seule fois pour initialiser vos constantes.

Spoiler:

Et voici le script pour récupérer la constante.
constant_get(str):
Code:
return ds_map_find_value(MAP_CONSTANT,argument0);


Spoiler:
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Accéder à une constante via un string. Empty
MessageSujet: Re: Accéder à une constante via un string.   Accéder à une constante via un string. EmptyMar 3 Avr 2012 - 12:36

Ou sinon, plus simple :

constant_get(str)
Code:
__ret = 0
execute_string("__ret = " + argument0)
return __ret

_________________
Accéder à une constante via un string. Runningpotato1Accéder à une constante via un string. TvF6GED Accéder à une constante via un string. MdetltS
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

Accéder à une constante via un string. Empty
MessageSujet: Re: Accéder à une constante via un string.   Accéder à une constante via un string. EmptyMar 3 Avr 2012 - 12:59

'execute_string' est plus gourmand, pas de beaucoup mais on grappille là ou on peut.
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

Accéder à une constante via un string. Empty
MessageSujet: Re: Accéder à une constante via un string.   Accéder à une constante via un string. EmptyMar 3 Avr 2012 - 13:16

Euh.... je suis pas sûr de comprendre... tu veux accéder à quoi?

bm_add par ex. vaut 2
string(bm_add) retourne "2"

donc bm_add+1 =3
et string(bm_add)+"#" + "2#"

_________________
Accéder à une constante via un string. Control-commentTous les icones de gm utilisables sur le cbna ICI  Accéder à une constante via un string. Main1-change-sprite
Revenir en haut Aller en bas
http://www.lecbna.org
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Accéder à une constante via un string. Empty
MessageSujet: Re: Accéder à une constante via un string.   Accéder à une constante via un string. EmptyMar 3 Avr 2012 - 13:42

En fait faire ça revient à émuler un pointeur sur variable, mais dans le cas d'une constante, autant directement assigner la valeur puisqu'elle ne peut pas changer ?

Je comprends ton script mais je ne vois pas dans quelles circonstances il peut avoir une utilité.

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

Accéder à une constante via un string. Empty
MessageSujet: Re: Accéder à une constante via un string.   Accéder à une constante via un string. EmptyMar 3 Avr 2012 - 13:42

Effectivement tu n'as pas compris (quant on a pas était confronté au problème ce n'est pas évident de voir à quoi ça peut servir).

Essai de faire:
Code:
draw_set_color(string(c_red));
draw_text(16,16,'Hello world');

Et tu comprendras.

Edit pour D-z:
Bha c'est dans le cas ou tu parse un string et que tu veux récupérer une valeur.
Tu ne fait pas ça tout les jours mais ça peut arriver (comme ça viens de m'arriver).
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Accéder à une constante via un string. Empty
MessageSujet: Re: Accéder à une constante via un string.   Accéder à une constante via un string. EmptyMar 3 Avr 2012 - 18:44

Caly a écrit:
'execute_string' est plus gourmand, pas de beaucoup mais on grappille là ou on peut.
Boh, ton truc aussi est lourd, surtout en mémoire :b

_________________
Accéder à une constante via un string. Runningpotato1Accéder à une constante via un string. TvF6GED Accéder à une constante via un string. MdetltS
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

Accéder à une constante via un string. Empty
MessageSujet: Re: Accéder à une constante via un string.   Accéder à une constante via un string. EmptyMar 3 Avr 2012 - 19:00

Yep il est plus lourd en mémoire c'est sur, mais après ça dépend si tu appels constant_get souvent ou pas.

C’est sur que si tu l’appel une fois toutes les trente six minutes un execute string l'emporte mais une fois par step vaux mieux consommer un peut de mémoire.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Accéder à une constante via un string. Empty
MessageSujet: Re: Accéder à une constante via un string.   Accéder à une constante via un string. EmptyMar 3 Avr 2012 - 19:08

Une fois par step c'est rien non plus hein x)
Et après la lenteur de string_execute dépend pas mal aussi de son contenu, la avec juste un assignement de variable, cpas terrible hein :b

_________________
Accéder à une constante via un string. Runningpotato1Accéder à une constante via un string. TvF6GED Accéder à une constante via un string. MdetltS
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

Accéder à une constante via un string. Empty
MessageSujet: Re: Accéder à une constante via un string.   Accéder à une constante via un string. EmptyMar 3 Avr 2012 - 19:13

Ok, ok, j’avais fait des tests avec execute string et ça piqué du coup je l'ai proscrit en fait x) (test fait avec de grosses boucles comme dab).

Revenir en haut Aller en bas
Oculus
Utilisateur confirmé: Rang *****



Messages : 1688

Accéder à une constante via un string. Empty
MessageSujet: Re: Accéder à une constante via un string.   Accéder à une constante via un string. EmptyMar 3 Avr 2012 - 20:45

Eh attend je comprend pas trop le truck mais pour quoi ne pas assigner ta constante pour ne pas la rechercher à chaque step ?
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

Accéder à une constante via un string. Empty
MessageSujet: Re: Accéder à une constante via un string.   Accéder à une constante via un string. EmptyMar 3 Avr 2012 - 20:57

Pour l'assigné dans une variable faut la récupérer.

Apres c'est un script à utiliser que dans des cas très rares. Ce n'est pas un truc révolutionnaire hein.
Je le met car j'en ai eu besoin.
Revenir en haut Aller en bas
Contenu sponsorisé





Accéder à une constante via un string. Empty
MessageSujet: Re: Accéder à une constante via un string.   Accéder à une constante via un string. Empty

Revenir en haut Aller en bas
 
Accéder à une constante via un string.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [String] nombre de Lettres affiché < que string
» Créer une constante en GML
» Pouvez-vous accéder à ce site ?
» Extraction d'un string
» comment accéder aux objets d'une autre room ?

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