Comunidad de diseño web y desarrollo en internet online

Problema con"Definición de funciones duplicada." en AS3

Citar            
MensajeEscrito el 20 Sep 2011 08:21 pm
Hola maestros del AS3 de Cristalab, resulta que estoy intentando realizar un boton sencillo para que me lleve a un fotograma dentro de mi linea de tiempo, estoy utilizando este codigo:

Código ActionScript :

nombre_de_instancia_de_mi_elemento.addEventListener(MouseEvent.CLICK, release); 
function release
function release(evt:MouseEvent):void {
gotoAndPlay(numero_de_fotograma);
}


y funciona a la perfección. Ahora lo que sucede es que quiero utilizar mas de un boton, es decir, repetir los codigos para poner la misma función a diferentes _mc de esta manera:

Código ActionScript :

stop(); 

nombre_de_instancia_de_boton1.addEventListener(MouseEvent.CLICK, release); 
function release(evt:MouseEvent):void {
gotoAndPlay(5);
}
 
nombre_de_instancia_de_boton2.addEventListener(MouseEvent.CLICK, release); 
function release(evt:MouseEvent):void {
gotoAndPlay(10);
}

nombre_de_instancia_de_boton3.addEventListener(MouseEvent.CLICK, release); 
function release(evt:MouseEvent):void {
gotoAndPlay(15);
}

nombre_de_instancia_de_boton4.addEventListener(MouseEvent.CLICK, release); 
function release(evt:MouseEvent):void {
gotoAndPlay(20);
}

nombre_de_instancia_de_boton5.addEventListener(MouseEvent.CLICK, release); 
function release(evt:MouseEvent):void {
gotoAndPlay(25);
}


es obvio y claro que estoy repitiendo la funcion "release(evt:MouseEvent):void" pero precisamente por eso creo este post para que alguien que conoce mas a fondo el codigo y la funcion me pueda indicar o me enseñe que variacion puedo colocar alli para que pueda funcionar mi codigo sin problemas y sin obtener el mensaje de error de "Definición de funciones duplicada." a causa de la duplicacion de:

Código ActionScript :

function release(evt:MouseEvent):void {


mil gracias, este es mi primer post, generalmente intento averiguar leyendo y leyendo sobre los tipos de funciones y la utiización de ellas, pero este as3 me ha dado un poco dificil. Espero su ayuda por favor! :D Soy David Guerrero desde Colombia.

Por xdagsx

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Sep 2011 10:07 pm
Podrías usar sólo una función y hacer algo diferente según cuál sea el MC seleccionado. Me explico:

Código ActionScript :

mc1.addEventListener(MouseEvent.CLICK, release);
mc2.addEventListener(MouseEvent.CLICK, release);

function release(e:MouseEvent):void {
    switch(MovieClip(e.target)){
        case mc1:
            // Código para el mc1
            break;
        case mc2:
            // Código para el mc2
            break;
    }
}


Así podrás ejecutar acciones distintas desde la misma función. La propiedad target de la clase MouseEvent indica, como habrás podido imaginar, cuál es el clip que ha lanzado el evento.

Por nestorrente

1010 de clabLevel

10 tutoriales

 

Vigo

firefox
Citar            
MensajeEscrito el 20 Sep 2011 11:26 pm
xdagsx, bienvenido :)

el foro de tutoriales no es para preguntas tecnicas. fijate bien en la descripcion de los foros cuando postees, cualquier duda igual pregunta :)

saludos!

post movido

Por Mariux

BOFH

7756 de clabLevel

28 tutoriales
15 articulos

Genero:Femenino   Héroes Editores

Diseñadora & ilustradora

chrome

 

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