Comunidad de diseño web y desarrollo en internet online

bt1_btn.addEventListener(MouseEvent.CLICK,iralenlace);

Citar            
MensajeEscrito el 26 Ago 2011 04:45 pm
Hola a todos!.
Estoy utilizando hace poco AS3.
Y aplico la siguiente función:

stop();

function iralenlace(e:Event):void{
navigateToURL(new URLRequest("http://www.muelalab.com"));
}

bt1_btn.addEventListener(MouseEvent.CLICK,iralenlace);

para un SKIP INTRO.

La pregunta: ¿ Esta bien insertar todo el código en un fotograma?, porque si quiero que el boton funcione desde el inicio a final de la película, me dice que estoy repitiendo la función, y por supuesto no funciona.

Espero puedan ayudarme. Gracias

Por mbascolo

48 de clabLevel



Genero:Masculino  

Programación Sitios Web

chrome
Citar            
MensajeEscrito el 26 Ago 2011 05:09 pm
Claro, es lo bueno de AS3 que puedes poner todo el código en un único fotograma

Por Cagarnera

Claber

158 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Ago 2011 05:24 pm
Si ok, pero el boton aparece en toda la intro, de fotograma 1 a fotograma 30. Si coloco el AS3 en el último fotograma sucede esto:
-La función stop(); no funciona (x lo tanto la película se repite)

Si inserto el codigo en todos los fotogramas, me da error y dice que se repite la funcion. ¿Tengo que insertar el código en cada fotograma? tiene que haber otra manera.

Por mbascolo

48 de clabLevel



Genero:Masculino  

Programación Sitios Web

chrome
Citar            
MensajeEscrito el 27 Ago 2011 04:54 am
Según yo, puedes declarar la función al inicio, y usarla en cualquier momento.

Prueba eso, declarar la función en el primer frame, y después vas agregando el "addEventListener" con la función cada que lo necesites. Avísame si funciona :)

Por julioealonso

6 de clabLevel



 

chrome
Citar            
MensajeEscrito el 28 Ago 2011 04:36 am
mete el listener adentro del boton.

Por D0M41N

56 de clabLevel



Genero:Masculino  

Argentina

chrome
Citar            
MensajeEscrito el 29 Ago 2011 02:17 am

julioealonso escribió:

Según yo, puedes declarar la función al inicio, y usarla en cualquier momento.

Prueba eso, declarar la función en el primer frame, y después vas agregando el "addEventListener" con la función cada que lo necesites. Avísame si funciona :)


No, no funciona.

Por mbascolo

48 de clabLevel



Genero:Masculino  

Programación Sitios Web

chrome
Citar            
MensajeEscrito el 29 Ago 2011 02:18 am

D0M41N escribió:

mete el listener adentro del boton.


gracias, pero no se puede insertar codigo dentro de los botones, en AS3

Por mbascolo

48 de clabLevel



Genero:Masculino  

Programación Sitios Web

chrome
Citar            
MensajeEscrito el 29 Ago 2011 06:53 am
Hola mbascolo. Lo primero que quiero decirte es que las funciones a las que quieras llamar puedes crearlas donde quieras. Lo único que debes tener en cuenta es que esa función DEBE ESTAR CREADA antes de llamarla. Esto significa que no puedes llamar desde el frame 1 a una función que has creado en el 30. Por eso, si deseas insertar el código en la línea de tiempo, una buena práctica consiste en crear todas las funciones a las que vayas a acceder en el frame 1, así las tendrás disponibles para el resto de tu película.

Otra cosa que debes tener en cuenta, es que los listener debes declararlos en un frame en el que el objeto que lo recibe esté presente. Si quieres hacer un addEventListener de un botón llamado "boton1", no puedes hacerlo si ese botón no está en la pantalla. Al compilar te daría un error de que se está intentando acceder a una propiedad o método de un objeto inexistente.

Con respecto a tu código, vamos a suponer que defines tu función en el frame 1. Esta debería ser así:

Código :

function iralenlace(e:MouseEvent):void{
navigateToURL(new URLRequest("http://www.muelalab.com"));
}

Fiíjate que he sustituido tu "e:Event" por "e:MouseEvent", ya que lo que estamos esperando no es un evento cualquiera, sino un evento de ratón.

Por otra parte, en el primer frame que aparezca tu botón, escribiríamos el siguiente código:

Código :

bt1_btn.addEventListener (MouseEvent.CLICK,iralenlace);

que es el código que correctamente habías puesto. Lo que no tienes que olvidar es ponerle el nombre "bt1_btn" a la instancia de botón que tengas en el escenario, porque si no te dará error.

Espero haberte sido de ayuda.
Un saludo

Por CidDeMizar

81 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Ago 2011 05:49 pm
Hola CidDeMizar
muy clara tu explicación! ahora funciona todo de maravillas. Voy a seguir interiorizándome un poco mas en AS3.

Gracias y un saludo!

Por mbascolo

48 de clabLevel



Genero:Masculino  

Programación Sitios Web

chrome
Citar            
MensajeEscrito el 30 Ago 2011 03:20 am
convertilo en movieclip.. no se usan mas los botones

Por D0M41N

56 de clabLevel



Genero:Masculino  

Argentina

chrome
Citar            
MensajeEscrito el 30 Ago 2011 08:19 am
Me alegro de que te funcione, mbascolo.

Un saludo, compañero.

Por CidDeMizar

81 de clabLevel



 

firefox

 

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