Comunidad de diseño web y desarrollo en internet online

Boton con dos funciones

Citar            
MensajeEscrito el 25 Jul 2012 02:21 pm
Como hago un boton con dos funciones en as3 como el de esta pagina de manera que la darle un clici se abra y al dalre otro se cierre

http://www.troll.es/trollweb/es/

Es decir para ser mas especifico tengo el siguiente código

Código ActionScript :

//Fichas
ficha.buttonMode = true;

ficha.addEventListener(MouseEvent.ROLL_OVER, fsobreMi3);
ficha.addEventListener(MouseEvent.ROLL_OUT, ffueraMi3);

function fsobreMi3(event:MouseEvent):void
{
   event.target.gotoAndPlay("Sobre");
}

function ffueraMi3(event:MouseEvent):void
{
   event.target.gotoAndPlay("Fuera");
}

Por luispaisa

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 25 Jul 2012 03:05 pm
¿Te refieres a un toggle, es decir un botón que alterne acciones A y B en cada click?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Jul 2012 09:03 pm
Exacto, lo mismo que tengo en el codigo pero con click tengo entendido que es con MOUSE_CLICK o MOUSE_DOWN, y se le agrega un if

la idea esque quede parecido al menu vertical de esta web http://www.troll.es/trollweb/es/

Gracias

Por luispaisa

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 25 Jul 2012 09:06 pm
El principio de un toggle es algo asi

Código ActionScript :

var flag:Boolean = false;
ficha.addEventListener(MouseEvent.ROLL_OVER, miToggle);
ficha.addEventListener(MouseEvent.ROLL_OUT, miToggle);

function fsobreMi3(event:MouseEvent):void
{
   if(flag){
     //accion A
  } else {
    //accion B
  }
  flag = !flag
}


Esa es la idea, lo tienes que adaptar a lo que necesites

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Jul 2012 10:47 pm
Puse el siguiente código:
ficha.addEventListener(MouseEvent.MOUSE_DOWN, fsobreMi3);


function fsobreMi3(event:MouseEvent) {

// Hide the first and show the next here
if (event.target.gotoAndPlay("Sobre")){

}
if (event.target.gotoAndPlay("Fuera")) {

}

}

y me sale el siguiente error:

ArgumentError: Error #2109: No se encontró la etiqueta de fotograma Sobre en la escena Sobre.
at flash.display::MovieClip/gotoAndPlay()
at index_fla::MainTimeline/fsobreMi3()

porque sera que no reconoce la instancia del fotograma y con el efecto roll over y roll out me funciona

Por luispaisa

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Jul 2012 03:13 am
O tu código no tiene sentido o escapa a mi conocimiento inmediato
¿Que qiuere decir esto?

if (event.target.gotoAndPlay("Sobre")){

¿Es acaso la traducción de esto?

if(flag){

¿Que tiene que ver un booleano con un gotoAndPlay?

Se abre un abanico de interrogantes
Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Jul 2012 02:04 pm

Código ActionScript :

f (event.target.gotoAndPlay("Sobre")){


quiere decir que vaya a la instancia Sobre del fotograma

Por luispaisa

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Jul 2012 02:06 pm

Código ActionScript :

if (event.target.gotoAndPlay("Sobre")){


como lo haria con
if(flag)

Por luispaisa

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Jul 2012 03:14 pm
Estas invocando un método en un if cuando deberá haber un booleano (true/false)
El método se llama como RESULTADO del if, no EN EL if, revisa el ejemplo que te puse

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Jul 2012 03:52 pm
Tengo esto y sigue sin funcionar que tendre mal?

Código ActionScript :

var flag:Boolean = false;
ficha.addEventListener(MouseEvent.MOUSE_DOWN, miToggle);
ficha.addEventListener(MouseEvent.MOUSE_DOWN, miToggle);

function miToggle(event:MouseEvent):void
{
   if(flag == false){
     event.target.gotoAndPlay("Sobre");
  } else {
     if(flag == true)
    event.target.gotoAndPlay("Fuera");
  }
  flag = !flag
}

Por luispaisa

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Jul 2012 04:00 pm
La estructura sería

Código ActionScript :

if(flag){
     //accion A
  } else {
    //accion B
  }


Un true hace que entre el if, un false no. Menos es mas

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Jul 2012 04:02 pm
Entonces como hago para que sepa que tiene que ir primero en el boton al fotograma instanciado "Sobre" y luego al hacer otro click al fotograma "Fuera"

Por luispaisa

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Jul 2012 04:04 pm
Seria

Código ActionScript :

var flag:Boolean = false;
ficha.addEventListener(MouseEvent.MOUSE_DOWN, miToggle);

function miToggle(event:MouseEvent):void
{
   if(flag){
     event.target.gotoAndPlay("Sobre");
  } else {
    event.target.gotoAndPlay("Fuera");
  }
  flag = !flag
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Jul 2012 04:39 pm
Humm no le encuentro la logica me sale el siguiente error:

ArgumentError: Error #2109: No se encontró la etiqueta de fotograma Fuera en la escena Fuera.

y eso que esta instanciado y si es con ROLL_OVER y ROLL_OUT funciona

Por luispaisa

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Jul 2012 05:08 pm
Si te funciona ya está, caso cerrado

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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