Bueno Para resolver tu pregunta, la dividir en dos partes (Divide y venceras).
Primera parte: Como puedo hacer para que al pinchar 1 botón se ejecute una animaciónBueno, para esto dare de antemanos que posees un Botón el cual lo hubicare en mi caso hipotetico en el root, ha este le podre
boton_1_btn como nombre de instancia, y que la animación esta dentro de un Movie Clip el cual llamaré
animacion_mc y esta también se encuentra en el root.
(Parrafo opcional) Si no sabes como colocarle el nombre de instancia (esta parte la escribo ya que no se que tanto sabes de flash), primero presiona
CTRL+F3. Este comando sacara el panel propiedades. Segundo selecciona por ejemplo el boton y si obsrevas en el panel de propiedades, hay puedes colocar el
nombre de instancia, haras lo mismo con el Movie Clip. El nombre que le debes poner puede ser los que yo ya mencione, Nota: es bueno que los nombres de instancia de los botones sea _btn y los de los Movie Clip _mc
Supondré que el Movie Clip tiene una acción de stop en el primer y último fotograma, por lo cual no se reproduce su lineal del tiempo al principio, pero a partir del segundo fotograma hasta el penúltimo posee un play. entoces seleccionaremos el botón y pondremos el siguiente código
Código :
on (release) {
_root.animacion_mc.gotoAndPlay(2);
}Esta es una forma de hacerlo, pueden a ver muchas más sencillas (pero para ejercicio didáctivo esta te ayudará a plantearte más preguntas lo cual equivale a más aprendizaje, si investigas).
//----------------------------
Segunda parte: Como puedo hacer para que al terminar una animación se cargue un .swf dentro de un contenedorEstá pregunta es un poco más compleja (Lo cual quiere decir que no eres tan novato en el tema).
Necesitaremos un swf diferente al cual estamos trabajando, por lo cual deberemos diferenciar por medio de nombres el swf donde estamos realizando todo y el que deseamos cargar. En el que estamos trabajando lo podemos llamar
este_acciones.swf y el que deseamos cargar en el contenedor se puede llamar
deseamos_caragar.swfA ver sigamos con nuestra linea en el discurso. (Útilice una frase más compuesta para que sonara más bonito) Cuando la animacion_mc llege al último fotograma (en el cual puede existir una accion stop(); ) agregaremos un poco más de código por lo cual el último fotograma de la animación sería
Código :
stop();
var contenedor:MovieClip = this.createEmptyMovieClip("contenedor_mc", this.getNextHighestDepth());
loadMovie("deseamos_cargar.swf", contenedor_mc);
setProperty("contenedor_mc", _x , 0);
setProperty("contenedor_mc", _y , 100);Ahora biene la parte dificil, explicarlo,
Primera linea: stop(); para la película (este fue facil)
Segunda linea: var contenedor:MovieClip = this.createEmptyMovieClip("contenedor_mc", this.getNextHighestDepth());. Bueno aquí cree por medio de actionscript un Movie Clip el cual nos servira como contenedor y se llamara contenedor_mc con la ayuda de createEmptyMovieClip() el cual recibe dos parametros, el primero el nombre del movie clip, el segundo su nivel de profundida. Para asegurarse que este movie clip quedar delante de los demas objetos situados en el mismo nivel utilizo el método getNextHighestDepth()
Tercera linea: loadMovie("deseamos_cargar.swf", contenedor_mc);. aqui la función LoadMovie () que me sirve para cargar un swf (en este caso) dentro de el contenedor, esta función recibe dos parametros, primero un string con la ruta del archivo que deseamos cargar, segundo el nombre del contenedor.
Cuarta linea: setProperty("contenedor_mc", _x , 0);. Bueno esta linea y la quinta son opcionales, pero utilizo la función setProperty() para poder darle algunas propiedades a nuestro contenedor (en este caso posición en
x e
y) si observamos, el primer parametro es un string con el nombre del contenedor, el segundo el tipo de atributo (_x), tercero el valor del atributo.
Bueno ya escribi por hoy suficiente. Espero que quedes satisfecho con la respuesta
En retribución si puedes o conoces a alguien
que me ayude con mi problema con mucho gusto lo recibiría