Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/12/2003, 18:23
Avatar de el_leon
el_leon
 
Fecha de Ingreso: diciembre-2003
Ubicación: Buenos Aires, Argentina
Mensajes: 182
Antigüedad: 20 años, 11 meses
Puntos: 0
hola Phobos

te cuento que hice algo muy simple en base a lo que tú cuentas, y a mí sí me funciona. Intenta por favor revisar que no te olvides de nada.

lo que yo hice fue hacer un MC muy simple: un rectángulo que sale de la pantalla y vuelve a entrar. Sale del frame 2 al 10 y entra del 11 al 20. El fotograma 1, es igual al 2 y al 20. El fotograma 10 es igual al 11. Todos ellos son fotogramas clave. Y en el 1, 10 y 20 hay sendos Stop();

Le puse de nombre de instancia "Mercado" para poder copiar tu código.

Luego en el escenario dibujé un círculo, lo convertí a botón y le copié tu código.

Y voilá... funciona.

El único problema (a mi entender) que tienen este tipo de acciones, es que si salgo del botón durante el tramo 2-10, la animación se corta y pasa al 11-20 (que justamente es lo que tú pareces desear). Por ende, si el rectángulo de mi ejemplo está a mitad de camino saliendo de la pantalla, por qué desear que aparezca entrando desde afuera? (al cortar la animación, vuelve desde un lugar al que todavía no ha llegado)

Si lo que deseas es una animación que vaya hacia adelante y hacia atrás (en el espacio, en el _alpha, en lo que tu quieras), pues haces un MC que tenga la animación en una sola dirección (en tu caso te quedarías con los frames 2 a 10, con un stop en el primero) y luego le pones un condicional en el onClipEvent(enterFrame) que determine si alcanzó el tope de inicio o fin, para que mientras tanto vaya al cuadro actual + una variable. Luego le dices al botón que setee esta variable en +1 o -1 y listo.

Aquí el código:

MovieClip:
Código:
onClipEvent (enterFrame) {
	if ((this._currentframe >= 1 && _root.variar > 0) || (this._currentframe <= this._totalframes && _root.variar < 0)) {
	this.gotoAndStop(this._currentframe+_root.variar);
	}
}

Botón:
Código:
on (rollOver) {
_root.variar=1;
}
on (rollOut) {
_root.variar=-1;
}
Nota: a la variable la coloco en el _root para que no tengas que preocuparte por la ruta de los botones ni de los clips. Ponlos donde tu quieras, dentro del contenedor que quieras, y siempre funcionarán. Es más, ni siquiera necesitas nombre de instancia para el clip.

Con este script puedes lograr que un gráfico disminuya su alpha y luego lo recupere desde el nivel exacto en que se encuentra, que un objeto se agrande o achique simulando un zoom, y lo que se te ocurra.

Un último dato: si bien este script es efectivo, el evento onClipEvent(enterFrame) consume más recursos que otras soluciones.

saludos

el_leon
[email protected]
__________________________
la web la hacemos entre todos
__________________
el_leon
[email protected]
____________________________
la web la hacemos entre todos