Forums Développement Multimédia

Aller au contenu

- - - - -

Contenu d'un champ texte en nom de variable

CODE

1 réponse à ce sujet

#1 vegetalain

    Ceinture Orange

  • Members
  • PipPipPip
  • 34 messages

Posté 03 October 2016 - 15:05 PM

Bonjour,

Absent depuis un bail, je reviens pour continuer mon chatbot auquel j'aimerai coller une voix... Mais une voix à ma sauce donc, ce serait en fait des fichiers sons qui seraient lancés au gré des réponses qu'afficherait le programme, à l'écran.

J'aurai donc besoin de faire appel à des sons situés dans la bibliothèque. En leur collant une référence dans la colonne "Liaison AS" de la propriété de chaque son, je peux les récupérer en faisant ça :

Si le son numéro 1 a la référence "Liaison AS" suivante : v001ok
Si la variable ressemble à ça : var zevoix001 = new v001ok();
Si je l'appelle ainsi au moment opportun : zevoix001.play();

Alors Ca fonctionne.

Mais pour les besoins de mon prog il faudrait que je fasse autrement que d'écrire "zevoix001.play()",
et faire ce genre de chose (c'est là que la synthaxe fait défaut x/):

1. On écrit dans un champ texte nommé "reftext.text", par exemple "001".
2. Puis on appelle la lecture du son ainsi (dans l'idéal) : zevoix + Number(refvoix.text) + "." + play();

Mais ça ne marche pas. A la vérification du script avec le petit V bleu, je n'ai aucune erreur mais au lancement du prog' j'ai ça :

 "Séquence 1, Calque 'Effet typewriter', Image 1, ligne 17     1120: Accès à la propriété non définie zevoix."

Donc ma question est la suivante, peut-on récupérer le "001" (et autres "002", "003" à venir, etc) et si oui, peut-on le faire proprement?

Merci de vos conseils avisés.

PS: je me sers d'un champ texte mais peut-être faut-il faire autrement... une "sous variable" ou qqchose comme ça?
PS2: (dsl au cas où je serais dans la mauvaise catégorie j'ai tapé ça vite et finalement je ne m'y retrouve plus :oops: )

#2 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7013 messages

Posté 03 October 2016 - 16:46 PM

Salut,

Ecrit dans ce contexte : zevoix + Number(refvoix.text) + "." + play();
zevoix est une variable qui n'est définie nulle part...

Tu peux essayer :

var son:String = "zevoix" + int(refvoix.text);

Ce qui devrait te sortir un nom sous forme de string, qu'il te suffit de réutiliser pour appeler le bon objet.

Mais à mon avis ce n'est pas la bonne démarche...
Tu pourrais par exemple glisser tous les liens vers tes voix dans un tableau et appeler le bon index pour charger le son.




Répondre à ce sujet



  

1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)