Amigo de es una verdadera fortuna que haya este espacio para ayudarnios a quienes queremos aprender a conducirnos por este interesante mundo del Flash y Action Script . Muchos saludos.
Mira tengo un problema
Descargé de internet un FLA el cual simula una bandera Flamenado pero funciona solo en Flash 5.
Ahora, quiero pasarlo a FLASH 8 pero no se ejecuta. Parece que hay problema con el attachmovie pues según el manual su disponibilidad es para FLASH 5.
Por favor ayudame en esto:
a) ¿Cómo hago para que funcione en Flash 8 esta bandera? Y
b) ¿Cuáles son las intrucciones que se usaba en Flash 5 y no aparecen en Flash 8, donde puedo hallar información sobre esto ?
El procedimiento de creación de la bandera es la siguiente (tal vez ya lo conozcan):
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);
}
};
Sin mas ni menos, probamos nuestra película con Crl+enter.
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.
AGRADEZCO POR LAS RESPUESTAS DE ANTEMANO ...
Muchas Gracias.
Att,
Jeremy.