Comunidad de diseño web y desarrollo en internet online

Al quitar el ratón de encima del botón, efecto.

Citar            
MensajeEscrito el 22 Jul 2009 12:42 pm
Vuelvo a la carga con mi ignorancia sobre flash, aunque estoy aprendiendo a base de "ostias", como se dice comunmente :)

Mi nuevo problema tiene que ver con los botones. Sé hacer que al poner el ratón sobre el botón, mediante un mc veamos una animación (en este ejemplo, un círculo que se hace visible desde alpha=0 a 100). El problema viene cuando al quitár el ratón de la zona del botón, en vez de reproducirse una animación que ahora explicaré cómo y dónde tengo, se pone de golpe en el modo "reposo", sin hacer caso a la animación.

Dicha animación de "salida" (efecto de desvanecimiento, al contrario del otro) está en ese mismo mc, pero situada a partir del fotograma 21, detrás de un fotograma con un stop en su programación (actionscript 2.0). De esta forma, al poner el ratón encima, la cabeza lectora comienza a reproducir correctamente la animación y se para en el 20, donde circulo es totalmente visible (esto dentro del on rollover), pero dentro del on rollout pongo un gotoandplay hasta el 21 y no hace caso ninguno. He terminado loca pues he mirado unos cuantos tutoriales y ejemplos, aparentemente es asi como se hace, incluso he probado referenciando al nombre de instancia del mc (efecto1.gotoandplay(21);) ... Sinceramente creo que aparentemente todo está correcto, pero al reproducirlo, en cuanto saco el ratón de la zona del botón, vuelta brusca (y trágica) al estado de reposo :(

Si alguien me pudiera explicar paso por paso cómo hacerlo, le estaría ultra-agradecida. Que rabia atascarse en algo taaaan básico! :twisted:

Por Eva_Flash22

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jul 2009 02:39 pm
Debo añadir que he visto el tutorial de botones con fadein y fadeout, y no necesito algo tan complejo, simplente necesitaría que el maldito rollOut me hiciera caso, y que fuera al fotograma que le digo y me reprodujera esa parte de la animación cuando quito el ratón de encima... No entiendo porqué no funciona. :\

Por Eva_Flash22

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jul 2009 03:51 pm
Probastes en vez de utilizar gotoAndPlay(21), utilizar tumovieclip.play(21)...
Muestranos tus lineas de action, puede ser otro el error!
atte. patrol

Por Patrol

80 de clabLevel



Genero:Masculino  

Diseñador web.

firefox
Citar            
MensajeEscrito el 22 Jul 2009 04:35 pm
Gracias por la respuesta, Patrol, si probé... probé de todo. Seré ahora más explícita, porque es un problema absurdo y sería sumamente feliz conociendo cómo se hace:

(Voy a explicar resumiendo cómo es mi método, a ve ren qué fallo :) :

Comienzo haciendo un cuadrado simple desde flash, este cuadrado lo transformo en mc y lo llamo "efecto", me meto dentro y vuelvo a crear otro mc al que llamo "animacion" (para poder usar el control de la transparencia), salgo de animación y desde la línea de tiempo de "efecto" creo una transición en alpha, del 40% en el fotograma 1, al 100% en el fotograma 20, y vuelta al 40% en el fotograma 40. Después creo las interpolaciones clásicas, hasta aquí todo me funciona ok.

Ahora creo una capa encima para colocar las acciones, y situo fotogramas claves vacíos donde meter las acciones en el 20 y en el 40, con dos stop; respectivamente.

Borro del escenario el cuadro y ahora creo un botón al que llamo botón (original, eh?), dentro, el estado de reposo lo dejo en blanco, y el "sobre", "presionado" y "zona..." les arrastro el mc "efecto", y llamo a la instancia "mc". Así he creado mi botón, que ahora arrastro hasta el escenario principal. Si lo reproduzco ahora, me aparece la pantalla en blanco, y al poner el cursor sobre la zona del botón, aparece la animación de la transición del cuadrado verdoso (era verdoso, por cierto :) del 40% alpha hasta el 100%, ya hí se keda parado, perfecto. Al quitar el ratón, vuelve de golpe al estado de reposo, osea, nada. Mi deseo es que reproduzca la otra mitad de la animación que hay dentro del moviclip "efecto".

Así pues, desde la línea de tiempo general, pincho sobre el botón, y con él seleccionado abro las acciones, y añado este código:

on (rollOut) {
mc.play(21);
}

Aunque debo decir que he probado de todo, desde no usar el mc., hasta poner gotoandplay, cambiar la posición de los stops, poner plays en lso fotogramas 1 y 21 de "efecto", jugar con el rollOver, en fin... todo lo imaginable. No funciona! alguna tontería debo olvidar u omitir.

También e intentado colocar este códito (o las variantes antes descritar) en otras partes, como código dentro del mc "efecto", o como código en los estados de los botones... ¡Me estoy volviendo loca!

Mil gracias si logas darme una respuesta, proque a mi se me escapa totalmente :\

Espero haber sido lo suficientemente clara, un poco extensa, pero mejor así :) Ójala puedas hacerte una idea de mi método de trabajo, por si hiciera algo incorrecto. Gracias!

Por Eva_Flash22

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jul 2009 05:12 pm
Estas trabajando con action script 1, por ende estas aplicando cada action a cada elemento en particular. Mudate al action script 2, podras resolver todo de forma mas simple. ¿Como? de la siguiente manera.

1) Crea la forma que vas a animar (el cuadrado)
2) Conviertela en simbolo y dale de nombre de instancia "cuadrado1" (sin las comillas)
3) Entra a dicho simbolo y estara la forma, vuelvelo a convertir a simbolo. Y dale de nombre de instancia cuadrado2
4) realiza la animacion a partir de este nuevo simbolo "cuadrado2"
5) En el escenario principal crea un boton invisible (son botones que crean a partir de un cuadrado (por ej) y el unico estado que tienen es el de area activa, te quedara celeste, visto desde el escenario. Dale de nombre de instancia "boton" (mas original que tu jej)
6) Aqui viene el action.

boton.onRollOver = function (){
cuadrado1.cuadrado2.play(2);
}
// puse 2 por que en el fotograma 1 de la animacion debe haber un stop
// luego viene el rollout, en el cual mandaras a reproducir el fotograma en el cual sigue la animacion creo que el 21 era no?

boton.onRollOut = function(){
cuadrado1.cuadrado2.play(21);
}

Esta es la forma mas simple para resolver lo que estas buscando. Te recominedo que te mudes a action script 2, pasarce del 1 al 3 es un salto muy grande, por ende te conviene dar este primer paso.
Cualquier cosa no dudes en consultar.

Por Patrol

80 de clabLevel



Genero:Masculino  

Diseñador web.

firefox
Citar            
MensajeEscrito el 22 Jul 2009 07:05 pm
Muchísimas gracias Patro, en cuanto tengo un momento esta misma noche lo pruebo a conciencia. Lo único que a bote pronto veo raro es lo del botón invisible, me imagino que te refieres a que no tiene estado "reposo", ni "sobre", ni "pulsado", tan sólo la zona activa (he creido entenderte esto).

Yo pensaba que usaba actionscript 2! :)

Luego te cuento!

Por Eva_Flash22

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jul 2009 08:06 pm
Ag, por desgracia no ha funcionado, ahora te enumero mis dudas. Haciendo todo como me has indicado, me da un error de compilación y me dice:

boton.onRollOut = function (){ (origen del error)
La declaración debe aparecer dentro del controlador on (descripción del error)

boton.onRollOut = function (){
La declaración debe aparecer dentro del controlador on

De todas formas, como te decía, me han surgido un par de dudas:

Cuando hago mi animación metidita en su mc, cuya instancia he llamado cuadrado1, y que contiene a cuadrado2 con su variación en el alpha, que hago con esto una vez terminado? No se deja en el escenario junto al botón, verdad? Se puede borrar? Si lo borro perderá su denominación de instancia (cuadrado1 y cuadrado2), asi que... qué debo hacer una vez tengo esto?

La otra duda creo que ya la resolví, es sobre los botones transparentes, en efecto creo que se dejan vacíos los campos excepto el de la zona de activación, que he rellenado arrastrando el mc del cuadro1, para que coincida el tamaño.

En fin, que sigo perdida! :(

Gracias por tu tiempo de todos modos :)

Por Eva_Flash22

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jul 2009 08:07 pm
Ah! se me olvidaba, este código que me habías dado lo he puesto sobre el botón, pinchando el él en la linea de tiempo y abriendo el panel de acciones. ¿Era ahí donde se debía poner?

Gracias! Que rabia que no salga!

Por Eva_Flash22

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jul 2009 10:20 pm
Hola de nuevo! Aca realice lo que pedias en Flash CS4, pero lo exporte para Flash CS3, por las dudas que manejes esa version.
Puedes bajarlo de aca: http://rapidshare.com/files/258884394/flash.fla.html

En caso de que no puedas abrirlo. Lo que hice fue lo siguiente:
Cree un cuadrado, lo converti en simbolo con nombre de instancia cuadrado1. Entre al simbolo, a la forma la volvi a convertir en simbolo para aplicarle luego el efecto alpha. Y a este nuevo movie clip no hace falta que le des nombre de instancia.
Luego en el fotograma uno, en una capa nueva, en la cual solo usare para colocar action script, coloque un stop();.
En el fotograma 20, coloque el movie clip con un 40% de alpha, y un fotograma clave en la capa de action con un stop tambien.
En el fotograma 40, coloque el movie clip con un 100% de alpha nuevamente.
Las acciones principales las colocaresmo en el fotograma 1, pero NOO dentro de ningun simbolo, simplemente en el fotograma 1 de la pelicula.
acciones:

Código ActionScript :

boton.onRollOver = function() {
   cuadrado1.play(2);
};
boton.onRollOut = function() {
   cuadrado1.play(21);
};


Bueno eso es todo, te recomiendo que bajes y abras el .fla, dado que te resultara mas facil de entender todo.
Atte. Patrol

Por Patrol

80 de clabLevel



Genero:Masculino  

Diseñador web.

firefox
Citar            
MensajeEscrito el 23 Jul 2009 06:21 am
Muchas gracias por tu atención Patrol, en un rato me pondré con ello, a ver si por fin puedo hacerlo funcionar! Seguramente el problema fuera colocar la progamación sobre el símbolo botón, no sobre el primer fotograma. Luego te cuento. Gracias!

Por Eva_Flash22

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Jul 2009 04:05 pm
Hey! ya está! Mil mil gracias! Poooor fin! Además también he realizado el tutorial para hacer el efecto fadeout más "pijillo" y completo, es más complejo, pero así ya se las 2 formas, la sencilla (la tuya) y la compleja (la del tutorial).

Sobre tu ejemplo, debo decir que ha sido vital para que lo entendiera bien :) Peeeero funcionaba algo raro, y después de trastear haciendo mi propia versión, he usado gotoAndPlay en vez de tu play, y ha funcionado correctamente (al menos a mi). Mi versión es flash cs4. De la otra forma, la primera vez que pasaba el ratón por encima del cuadro funcionaba ok, y al quitarlo también, pero la vez suigiente, es como si se volviera loco, y lo hacía cuando quería, con gotoAndPlay funciona genial.

Muchas gracias por tu tiempo. Un saludo! :D

Por Eva_Flash22

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Jul 2009 04:15 pm
jej de nada! Suerte con esos moviclips!
atte. Patrol :D

Por Patrol

80 de clabLevel



Genero:Masculino  

Diseñador web.

firefox

 

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