El efecto de bandera en movimiento necesita solo un layer o capa y un solo fotograma donde va la acción.
Para empezar, importemos la imagen (que no tiene porque ser únicamente una bandera) al escenario (no a la biblioteca). También podemos optar por dibujar nuestra propia bandera en flash.
Luego importemos la imagen o nuestra propia creación a la biblioteca (simplemente arrastrándola), al hacer esto, flash nos preguntará en que la queremos converir. Elegimos la opción de clip de película o movie clip, le ponemos el nombre “foto” y el registro en la esquina superior izquierda
Una vez que la imagen está dentro de la biblioteca con su respectivo nombre de instancia”foto”, le damos click derecho y accedemos al menú “vinculación”. Ahí marcamos la opción de “exportar para Action Script” y automáticamente se marca la opción “exportar en el primer fotograma”. Luego de esto, volvemos a nuestro escenario y borramos la imagen que habíamos importado (ya que, ya está dentro de la biblioteca como un MC).Marcamos el primer fotograma clave de nuestro único layer y abrimos el panel de acciones.
Dentro pegamos este código:
interacciones = 30;
xo = 40;
yo = 30;
for (var i = 0; i<interacciones; i++) {
mc = attachMovie("foto", "foto"+i, 10+i*10, {_x:xo});
ancho = mc._width;
alto = mc._height;
uni = ancho/interacciones;
duplicate = _root.createEmptyMovieClip("mc"+i, 2000+i*100);
duplicate.lineStyle(0);
duplicate.beginFill(0, 100);
duplicate.moveTo(0, 0);
duplicate.lineTo(0, alto);
duplicate.lineTo(uni, alto);
duplicate.lineTo(uni, 0);
duplicate.lineTo(0, 0);
duplicate._x = xo+i*uni;
mc.setMask(duplicate);
}
this.onEnterFrame = function() {
for (var i = 0; i<interacciones; i++) {
this["mc"+i]._y = this["foto"+i]._y=yo+5*Math.sin(a += 0.2);
}
};
Es muy probable, como me ocurrió a mí en principio, que solo se les vea una parte de la imagen o bandera que flamea. La solución a esto es modificar el valor de las variables “X” e “Y” dentro del código que pusimos en el panel de acciones. Si siguieron los pasos correctamente, su imagen o bandera debería estar flameando perfectamente.
El secreto para que no aparezcan líneas blancas en la imagen es crear la imagen al tamaño que la van a usar, y luego meterla en la biblioteca ya que el Script utiliza una variable llamada SetMask() y si se modifica el tamaño luego, aparecen unas no muy estéticas líneas en la bandera o imagen.
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Publica tu comentario
El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro
Entra al foro y participa en la discusión
o puedes...
¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?
Inicia sesión
¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?
Registrate