| |||
Cómo invocar una función desde el Timeline Estoy haciendo una animación para un portal, pero el efecto que estoy utilizando es una función que se invoca desde un evento de clip (on release, on press, etc.). ¿Cómo puedo invocarlo desde la línea de tiempo? Es decir sin tener que hacer un click del mouse, sino sólo cuando pase por determinado frame? Gracias. |
| |||
Respuesta: Cómo invocar una función desde el Timeline Hola Highlord. Gracias por tu respuesta. No me funciona o es que no entendí. Lo explico de nuevo y al detalle. Mi función genera unos efectos de texto, el código es: function generar() { for ( i=1 ; i<=letras.num_letras; i++ ) { letras["letra"+i].removeMovieClip() } letras.texto = texto; letras.num_letras = length(letras.texto); letras.loop = 1; letras.espacio = 38; letras.x_inicial = -(letras.num_letras-15.5)*letras.espacio; letras.generar = 1; } Para invocarlo lo hago desde un botón denominado "Inicio", cuyo código es: on (press) { texto = "TEXTO DE PRESENTACION" letras.frame = 7 generar() } Entonces funciona. Pero yo quiero que no sea necesario presionar el botón, sino que la función se ejecute al leer el primer frame (o el segundo, o cualquiera) del Time Line. Entonces probé poner los parámetros en el mismo frame, y la invocación para que se autoejecute: texto = "TEXTO DE PRESENTACION" letras.frame = 7 generar() function generar() { for ( i=1 ; i<=letras.num_letras; i++ ) { letras["letra"+i].removeMovieClip() } letras.texto = texto; letras.num_letras = length(letras.texto); letras.loop = 1; letras.espacio = 38; letras.x_inicial = -(letras.num_letras-15.5)*letras.espacio; letras.generar = 1; } Pero NADA, no llama la función. ¿Cómo puedo hacer? Gracias. |
| ||||
Respuesta: Cómo invocar una función desde el Timeline No entiendo por que tienes los parámetros de la función como variables externas a ella. La función debería estar definida así (suponiendo que letras es un MovieClip, realmente no sé que es): function generar(texto:String, letras:MovieClip) { } Luego, para llamarla desde cualquier frame sólo pones en los Actions del frame: letras.frame = 7; generar("TEXTO DE PRESENTACION", letras); Espero que sirva de algo.
__________________ ThE GhOsT |
| |||
Respuesta: Cómo invocar una función desde el Timeline Efectivamente, letras es un Clip de película cuyo código es: onClipEvent (load) { generar = 0 letra._visible = 0 frame = 7 loop = 1 } onClipEvent (enterFrame) { if (generar == 1){ this.gotoAndStop(frame) letra._visible=0 letra.duplicateMovieClip("letra"+loop,loop) this["letra"+loop]._x=x_inicial+(espacio*(loop-1)) this["letra"+loop].letra=substring(texto,loop,1) loop++ if (loop>num_letras) { generar = 0; } } } Hice lo que me dijiste, pero igua no funciona. Pero creo que estoy cerca. Gracias. |
| ||||
Respuesta: Cómo invocar una función desde el Timeline Lo que yo te decia es que podrías generar los efectos de texto en un nuevo documento swf con las dimenciones deseadas y luego lo llamas desde tu swf principal con el cod. que te di. _root.contenedor.loadMovie("efecto_de_texto.swf"); Al mc. le pones este cod. para que no tenga problemas en visualizar correctamente los efectos que se cargarán. onClipEvent(load){ this._lockroot = true; } |