| | script et argument | |
| | Auteur | Message |
---|
blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: script et argument Dim 9 Jan 2011 - 16:58 | |
| salut Dans un script, j'exécute 10 fois un autre script : - Code:
-
action_sc(1,argument1); action_sc(2,argument2); action_sc(3,argument3); action_sc(4,argument4); action_sc(5,argument5); action_sc(6,argument6); action_sc(7,argument7); action_sc(8,argument8);
C'est pour remplacer un switch/case, contenant un autre switch /case, le total faisant 350 lignes, du coup, j'ai réduit ça en 2 script de 15 et 5 lignes, mais je voudrais encore raccourcir ça . Je voudrais faire ça à la place : - Code:
-
i=type; valeur=string("argument"+string(i)); action_sc(1,valeur);
Mais ça marche po, ça me renvoi "argument1" au lieu de la valeur de l'argument . une idée du problème ? merci bien. [code] |
| | | glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: script et argument Dim 9 Jan 2011 - 17:07 | |
| - Citation :
- action_sc(1,argument1);
action_sc(2,argument2); action_sc(3,argument3); action_sc(4,argument4); action_sc(5,argument5); action_sc(6,argument6); action_sc(7,argument7); action_sc(8,argument8); for(i=0;i<8;i+=1) action_sc(i,argument ); [i]juste ca, ca iraensuite, pourquoi tu veux envoyer valeur=string("argument"+string(i)); ca ne sert strictement a rien, tu a juste a mettre action_sc(unnombre, argument[ i]) et ca suffira parce que ton "valeur" ne contient que du texte, pas l'argument, donc remplace valeur=string("argument"+string(i)); par valeur=argument[i]; |
| | | onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: script et argument Dim 9 Jan 2011 - 18:00 | |
| pour faire simple : - Code:
-
for(i=1;i<=8;i+=1) execute_string("action_sc("+string(i)+",argument"+string(i)+")") |
| | | blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: script et argument Dim 9 Jan 2011 - 18:16 | |
| - gabin49 a écrit:
- for(i=0;i<8;i+=1)
action_sc(i,argument); [i]juste ca, ca ira ensuite, pourquoi tu veux envoyer valeur=string("argument"+string(i)); ca ne sert strictement a rien, tu a juste a mettre action_sc(unnombre, argument[i]) et ca suffira parce que ton "valeur" ne contient que du texte, pas l'argument, donc remplace valeur=string("argument"+string(i)); par valeur=argument[i]; salut merci beaucoup pour tes explications . Grâce à toi ça marche nickel. j'ai remplacé ça par : action_sc(type,argument[type]); (je connais la variable type ). Encore merci. |
| | | Invité Invité
| Sujet: Re: script et argument Dim 9 Jan 2011 - 19:41 | |
| - onilink_ a écrit:
- pour faire simple :
- Code:
-
for(i=1;i<=8;i+=1) execute_string("action_sc("+string(i)+",argument"+string(i)+")") ça ne risque pas d'être un peu lent ? |
| | | onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: script et argument Dim 9 Jan 2011 - 21:07 | |
| Pour la taille de ce genre d'instruction je pense pas. Par contre j'ai beau avoir posté ce bout de code je suis totalement contre le fait d'utiliser execute_string, mais parfois ça simplifie pas mal les choses, donc c'est pratiques pour ceux qui ne veulent pas ce prendre la tete. |
| | | blendman Utilisateur confirmé: Rang **
Messages : 433 Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.
| Sujet: Re: script et argument Lun 10 Jan 2011 - 10:43 | |
| merci pour vos commentaires, ça m'aide bien j'ai encore une question dans le même genre : . Voilà, j'ai un fichier ini (pour les préférences ou la traduction par exemple). Dans ce fichier ini, j'ai : - Code:
-
[tool1] nbre = 8 1 = Transp 2 = size 3 = SizeX 4 = SizeY 5 = Rotate 6 = scatter 7 = mixing 8 = visco Je voudrais afficher avec un seul bouton les différentes variables globales listées dans cette liste, soit : global.Transp global.size global.sizeX etc.. Pour cela, je crée 8 instances de boutons, et je vais chercher le nom de la variable de la manière suivante : - Code:
-
ini_open("brushpreset.ini"); bp1=ini_read_string("tool1",string(global.numero),"size"); execute_string('bp=global.'+string(bp1)); ini_close();
ensuite, dans un draw, j'affiche bp : - Code:
-
draw_text(x+5,y+2, string(bp));
et ça marche, mais uniquement à la création des boutons. Et je ne voudrais pas devoir à chaque changement de taille de pinceau ou de changement d'opacité, devoir relancer ce genre de script, car execute_string, c'pas bien . Alors, ma question : comment puis-je faire ce genre de chose de manière automatique, sans utiliser un execute_string() si c'est possible ? Merci |
| | | supmaster004 Utilisateur confirmé: Rang *****
Messages : 2189 Localisation : x=23.256842 y=43.456879 Projet Actuel : Faire des parodies de jeux en 1h
| Sujet: Re: script et argument Lun 10 Jan 2011 - 19:18 | |
| euh normalement, une fois que bp est définie, elle ne change pas ._.
donc vérifie juste que ton code ne s'execute pas en boucle (remplacement de bp à chaque step)
edit: tu remplaces bp par bp[global.numero] et dans tes objets tu fais en sorte qu'ils drawent bp[numero] avec numero le numero de l'objet |
| | | Contenu sponsorisé
| Sujet: Re: script et argument | |
| |
| | | | script et argument | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |