Comunidad de diseño web y desarrollo en internet online

Se puede ejecutar actionScript desde una variable de texto?

Citar            
MensajeEscrito el 21 Oct 2004 10:40 pm
Tal vez mi pregunta sea un poco rebuscada, pero nada pierdo con preguntar, yo guarde en una variable de texto de flash sentencias de funciones y me gustaria poder ejecutarlas en esa misma pelicula, algo asi como ejecutar texto con acciones, pregunto esto ya que tengo el siguiente problema:

Estoy ocupando el AttachMovie para traer un Clip de película de la librería muchas veces para usarlo como menú.

Esto lo hace bien pero al tratar de ponerle acciones a estos clip salen los problemas.

esta es la sentencia:

for (i=1; i<=8; i++) {
menusoc["menu"+i].onRelease = function(){
texto = menusoc["menu"+i].texto.text;
}
}


lo que deberia dar algo por el estilo:

menusoc[menu1].onRelease = function(){
texto = menusoc[menu1].texto.text;
}


..........etc

si yo lo pusiera asi sin el for me saldría perfecto, pero con la función for al querer darle el nombre a la variable texto, me sale Undefined, o sea no lo encuentra ya que el i de la función suma uno osea esta buscando menusoc[menu9].texto.text; que en realidad no existe ya que al momento de presionar el botón ese i anterior se fue, por eso queria preguntar si puedo transformar estas funciones a texto dejandolas en una variable teniendo asi el i original y después ejecutar esa variable de texto.

esop :shock: :shock: :shock:
Gracias...............[/b]

Por superkaneda

5 de clabLevel



 

Santiago de Chile......

unknown
Citar            
MensajeEscrito el 22 Oct 2004 08:04 am
Mira, yo en un trabajo que estoy haciendo actualmente he hecho esto y funcionaba:

Código :

for (i=0; i<buts_xml.firstChild.childNodes.length-1; i++){
   _root.attachMovie("boton", "boton"+i, i);
   _root["boton"+i]._x = 55 + (140 * i);
   _root["boton"+i]._y = 66;
   _root["boton"+i].movie = links_array[i];
   _root["boton"+i].tit_txt.text = buts_xml.firstChild.childNodes[i].firstChild;
               
   _root["boton"+i].boton_btn.onPress = function(){
      loadMovie(this._parent.movie, _root);
   }
}


Lo que hago es meter dentro de los botones una variable cuando los creo para que vaya a una movie en concreto, tu podrías hacer lo mismo almacenando un texto.

Luego con this._parent.tuVariable la puedes recuperar desde el evento del botón.

Un saludo!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

unknown
Citar            
MensajeEscrito el 22 Oct 2004 08:04 pm
Gracias elecash pero la verdad no creo que me sirva eso ya que la función me la realiza bien, es el traspaso de variable la que no me funciona, ya que es una ["variable_"+i].

Creo que por el momento dejare varias funciones de este tipo hasta un numero n que yo considere que puede ser el maximo, se que no es nada elegante pero no se si flash tiene mas posibilidades:

Dejare esto:


menusoc[menu_1].onRelease = function(){
texto = menusoc[menu_1].texto.text;
} //////de 1

menusoc[menu_2].onRelease = function(){
texto = menusoc[menu_2].texto.text;
}

..........
...........

menusoc[menu_n].onRelease = function(){
texto = menusoc[menu_n].texto.text;
} //////hasta n



De esta manera me aseguro de traspasarle la variable correctamente a texto.

Y aunque no exista el objeto menusoc[menu_n] no reclama si le pongo una acción de botón :? no se si esto sea bueno o malo, pero que diablos :evil: en estos momentos para mi esta bien :wink: ^^ :P

Por superkaneda

5 de clabLevel



 

Santiago de Chile......

unknown
Citar            
MensajeEscrito el 28 Ago 2009 10:24 pm
Hola, a mi me paso el mismo porblema y lo resolvi creando una funcion de la siguiente manera:


fuction miFuncion ( valor)
{
menusoc["menu" + valor].onRelease = function ()
{
texto = menusoc["menu" + valor].texto.text;
};
};


for (i=1; i<=8; i++)
{
miFuncion ( i);
}

Cuando le das la funcion a un boton de un array "menusoc["menu" + i]" dentro del "for" y le pasa un valor "i", este solo identifica el ultimo valor dado para "i" por ende no te funciona. Lo que hice es crear en una funcion "miFuncion" para capturar esa "i" a traves de una variable llamada "valor", y asi decirle a la funcion del botón que ejecute ese valor, en este caso "i". Espero haber podido ayudarte.

Por DarkSoulAQ

0 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.