Foros del Web » Creando para Internet » Flash y Actionscript »

como poner if/else para rollover rollout release

Estas en el tema de como poner if/else para rollover rollout release en el foro de Flash y Actionscript en Foros del Web. Hola amigos, tengo una pregunta muy senzilla pero para mi se me hace un mundo jeje. Tenemos un MC con 2 fotogramas, en el primero ...
  #1 (permalink)  
Antiguo 15/06/2011, 20:04
 
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 192
Antigüedad: 19 años, 9 meses
Puntos: 1
como poner if/else para rollover rollout release

Hola amigos, tengo una pregunta muy senzilla pero para mi se me hace un mundo jeje.

Tenemos un MC con 2 fotogramas, en el primero un cuadrado blanco(con stop) y en el segundo un cuadrado negro. Y también 3 campos de texto dinámicos. Y este código en el MC:

on (rollOver) {
_root.mensaje1_txt.text="Titulo";
_root.mensaje2_txt.text = "Descripcion";
_root.cuadrado_mc.gotoAndStop(2);
}

on (rollOut) {
_root.mensaje1_txt.text="";
_root.mensaje2_txt.text = "";
_root.cuadrado_mc.gotoAndStop(1);
}

on (release) {
_root.mensaje1_txt.text="Titulo";
_root.mensaje2_txt.text = "Descripcion";
_root.mensaje3_txt.text= "Otros";
_root.cuadrado_mc.gotoAndStop(2);
}

Hasta aquí seria genial, pero el gran problema como ya saben es que después de pulsar el MC, y hacer onrollOut, se pierde todas las acciones del onrelease. Me gustaria que una vez pulsado el MC, se quede fijo los mensajes y en el fotograma 2, hasta que pase el ratoncito por otros MC iguales que este, y hagan sus funciones.

Encontre varios ejemplos por ahi con if/else pero no saque nada claro. Se podria hacer duplicando y ocultando el MC, pero me gustaría aprenderlo a hacerlo con el AS2 jeje. Si se fijan el mensaje 3 solo debe aparecer cuando se pulsa el mc, y nunca haciendo rollover y rollout, aunque esto es secundario.

Muchas gracias a quien pueda ayudar!!!
  #2 (permalink)  
Antiguo 15/06/2011, 21:19
Avatar de jatg  
Fecha de Ingreso: abril-2011
Ubicación: caracas
Mensajes: 152
Antigüedad: 13 años, 8 meses
Puntos: 15
Respuesta: como poner if/else para rollover rollout release

hola por lo que entiendo lo que quieres es que al ejecutarse el evento on rolloover se detenga la animacion no? si es esto lo que quieres entra dentro del movieclip del boton y coloca un goto and stop
__________________
www.josealexis.net
  #3 (permalink)  
Antiguo 16/06/2011, 05:31
 
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 192
Antigüedad: 19 años, 9 meses
Puntos: 1
Respuesta: como poner if/else para rollover rollout release

Hola, no es eso. Necesito como aplicar un if/else, fijense que despues de presionar el MC, y hacer rollOut, el cuadrado_mc vuelve al fotograma 1, y se ha de quedar a fijo en el 2, asi como los mensajes. Gracias ;)
  #4 (permalink)  
Antiguo 18/06/2011, 04:24
 
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 192
Antigüedad: 19 años, 9 meses
Puntos: 1
Respuesta: como poner if/else para rollover rollout release

a ver si alguien lo sabe como poner un if/else. cuando pones el haces onrollover en el MC este va al fotograma 2 y cambia de color, cuando haces rollout, vuelve al fotograma 1, y cuando haces onrelease, se ha de quedar en el fotograma 2 con otro color. esto en as2. gracias ;)
  #5 (permalink)  
Antiguo 18/06/2011, 09:13
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 20 años
Puntos: 43
Respuesta: como poner if/else para rollover rollout release

Hola Ciberdavid !

Lo que debes hacer es guardar la referencia del movieclip presionado para que cuando hagan el rollout se pueda saber si a ese botón debemos borrarle los textos o dejarle los asignados por el evento onRelease.

Podrías declarar un variable en la raíz de tu documento para guardar la referencia de nuestro movieclip presionado:

Código actionscript:
Ver original
  1. var mcPresionado:MovieClip = null;

Lo dejamos con valor nulo porque aún no sabemos cual van a seleccionar.

Ahora en donde te notifican los eventos.

Código actionscript:
Ver original
  1. on (release) {
  2.     _root.mcPresionado = this;
  3.     _root.mensaje1_txt.text="Titulo";
  4.     _root.mensaje2_txt.text = "Descripcion";
  5.     _root.mensaje3_txt.text= "Otros";
  6.     _root.cuadrado_mc.gotoAndStop(2);
  7. }

Si ves la línea dos, estamos asignándole a la variable que declaramos en la raíz la palabra reservada this que hace referencia al botón que seleccionaste en ese momento.

Ahora ya sabemos que botón fue seleccionado, finalmente en el evento onRollOut tomamos determinada acción de acuerdo al botón seleccionado:

Código actionscript:
Ver original
  1. on (rollOut) {
  2.     if(_root.mcPresionado != this) {
  3.         _root.mensaje1_txt.text="";
  4.         _root.mensaje2_txt.text = "";
  5.         _root.cuadrado_mc.gotoAndStop(1);
  6.     }
  7. }

Si vemos la línea 2 del código, preguntamos si el movieclip presionado no es igual al botón al que se le hizo el rollout, borramos los textos y se va al fotograma 1, en caso contrario dejaría los valores asignados en el onRelease.

Un saludo y suerte!
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.
  #6 (permalink)  
Antiguo 19/06/2011, 08:20
 
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 192
Antigüedad: 19 años, 9 meses
Puntos: 1
Respuesta: como poner if/else para rollover rollout release

Bueno, fastastico amigo jahepi, fantastico!!!

nunca se me habria ocurrido, para programar un poco mas avanzado no doy mas de mi jeje. unicamente keda un problemilla con el texto 3, lo he puesto en un archivo fla de ejemplo por si lo quieres revisar o quien pueda pra ver como queda al final.

la funcion del texto 3 es la siguiente: unicamente debe aparecer cuando hemos hecho onrelease en cualquier mc, y a partir de ahi kedarse fijo siempre.

archivo .fla:

http://www.megaupload.com/?d=D8NH4OGU

1 saludo y muchisimas gracias.


PD: existe otro problemilla con los textos, una vez que hacemos onrelease en cualquier mc, al hacer rollout en un segundo mc, desapare completamente los textos, y se deberia quedar los textos del primer mc ;)

Última edición por CIBERDAVID; 19/06/2011 a las 08:29

Etiquetas: release, rollover
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:04.