Tengo dos problemas que me gustaría resolver y no doy con la tecla en AS3.
Tengo un logo en la pagina inicial que explota en forma de particulas cuando hago clic en el, y si hago clic otra vez las particulas vuelven a convertirse en el logo y despues me carga otro SWF. Ver ejemplo:
http://www.colordeu.es/LPSERVICE/lp_explota.html
Problemas:
- El primer problema o lo que quiero arreglar es que al hacer clic el logo explote en particulas y no espere a que vuelva a hacer clic sino que explote, se convierta de nuevo en el logo y cargue el siguiente SWF.
- Cuando carga el segundo SWF, si vuelves a hacer clic cerca del logo, la animación vuelve a ejecutarse desde el principio, es decir desce el primer SWF y yo lo que quiero es que una vez hagas clic la primera vez, no se vuelva a ejecutar esa animación puesto que ya se ha pasado de sección.
- El segundo problema es que como veis en el ejemplo el siguiente swf no me lo carga en el mismo sitio y eso que el escenario es del mismo tamaño y lo he puesto en las mismas coordenadas X e Y.
El código que para que explote el logo es el siguiente (sacado de una web):
****************[actionscript] *************************
stop();
import flash.events.*;
import com.pixel;
import com.pixelator;
import flash.display.Loader;
import flash.net.URLRequest;
//stage.align = StageAlign.BOTTOM_RIGHT;
var startAnim:Boolean = true;
var animating:Boolean = false;
var pixelExplosion:pixelator = new pixelator(test2_mc);
addChild(pixelExplosion);
function btnfunc():void{
btn.addEventListener(MouseEvent.MOUSE_DOWN, clickHandler);
btn.buttonMode = true;
btn.useHandCursor = true;
pixelExplosion.addEventListener("PIXELS_DONE", allDone);
pixelExplosion.addEventListener("ANIM_DONE", anDone);
}
function allDone(event:Event){
startAnim = true;
animating = false;
}
function anDone(event:Event){
animating = false;
}
function clickHandler(event:MouseEvent)
{
if (pixelExplosion.doneCreating && startAnim && ! animating){
pixelExplosion.explode();
animating = true;
startAnim = false;
btn.gotoAndStop(2);
}
else if (!startAnim && pixelExplosion.doneCreating && !animating){
animating = true;
var _speed:int = 6;
pixelExplosion.retract();
btn.gotoAndStop(3);
}
}
btnfunc();
********************[/actionscript]************************
Y el codigo para cargar el SWF siguiente es este:
********************[actionscript]*************************
stop();
import flash.net.navigateToURL;
import flash.net.URLRequest
var contenedor:MovieClip = new MovieClip();
var loader:Loader = new Loader();
loader.load(new URLRequest("inicio.swf"));
loader.contentLoaderInfo.addEventListener(Event.CO MPLETE, insertMovie);
function insertMovie(evt:Event):void{
addChild(contenedor).name = "contenedor";
contenedor.addChild(loader).name = "loader";
//contenedor.align = StageAlign.BOTTOM_RIGHT;
}
*****************[/actionscript]************************
Espero podáis ayudarme porque ya no se que mas hacer.
Saludos cracks.