Comunidad de diseño web y desarrollo en internet online

Separar 2 contenedores de imagenes

Citar            
MensajeEscrito el 08 Mar 2009 04:27 am
Hola tengo mi codigo pero me carga aleatoriamente 2 contenedores con imagenes que les he asignado en una carpeta "img" pero lo que necesito es que cuando pase un cierto tiempo (timer) el contenedor1 pase al contenedor 2 y en el contenedor1 cargue una nueva imagen, aca mi codigo:

Código ActionScript :

private var t:Timer;
private var tiempo:Number;
private var ciclo:int=10;//30
private var cantidadImagenes:Number=3;
private var cantidadImagenes2:Number=3;
private var loader1:Loader;
private var loader2:Loader;

public function Main():void {
   init();
   events();
}
private function init():void {
   t=new Timer(1000);
   tiempo=0;
}

private function events():void {
   t.addEventListener(TimerEvent.TIMER, metodotimer);
   t.start();
}

private function metodotimer(e:TimerEvent):void {
   trace("tiempo");
   if (tiempo==0) {
      trace("Inicia Ciclo");
      cargarImagenes("img/cont0");
      trace("cargo imagen");
   } else {
      trace("tiempo----");
      if (tiempo==ciclo) {
         tiempo=-1;
      }
   }
   tiempo++;
}

private function cargarImagenes(url:String):void {
   var numeroimg1:Number=Math.ceil(cantidadImagenes*Math.random());
   var numeroimg2:Number = Math.ceil((cantidadImagenes-1)*Math.random());
   trace("n° imagen ", numeroimg1);

   loader1 = new Loader();
   loader2 = new Loader();
   var s1:String=url+numeroimg1+".jpg";
   var s2:String=url+numeroimg2+".jpg";
   trace("s1 :",s1, s2);
   loader1.load(new URLRequest(s1));
   loader2.load(new URLRequest(s2));

   loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, imagenCargada);
   loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, imagenCargada);
}

private function imagenCargada(e:Event):void {

   if (MovieClip(main_mc.contenedor1).numChildren>0) {
      MovieClip(main_mc.contenedor1).removeChildAt(0);
      MovieClip(main_mc.contenedor2).removeChildAt(0);
   } else {
      loader1.contentLoaderInfo.removeEventListener(Event.COMPLETE, imagenCargada);
      loader2.contentLoaderInfo.removeEventListener(Event.COMPLETE, imagenCargada);

      var obj1:Object=loader1;
      var obj2:Object=loader2;

      main_mc.contenedor1.smoothing=true;
      main_mc.contenedor2.smoothing=true;

      main_mc.contenedor1.addChild(obj1);
      main_mc.contenedor2.addChild(obj2);
      main_mc.contenedor1.height=391.6;
      main_mc.contenedor1.width=593.4;
      main_mc.contenedor2.height=391.6;
      main_mc.contenedor2.width=593.4;
   }
   trace("ok");
}


gracias a los que me puedan ayudar!!! ^^

p.d.: de pasadita si me pueden ayudar a meterles un fade in y un fade out gracias!!!!!!!!!!!!!!!!

Por fecori

Invitado



 

firefox
Citar            
MensajeEscrito el 11 Mar 2009 02:36 am
si te fijas bien, creo q el problema viene en estas lineas:

Código :

private function init():void { 
   t=new Timer(1000); 
   tiempo=0; 
} 

ya que si te fijas en la ayuda de adobe, la clase timer necesita 2 parametros, uno con el tiempo y otro q le diga cuantas veces se repetira:
fijate que aqui esta explicado correctamente:
http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/flash/utils/Timer.html

saludos

Por bubudrc

Claber

591 de clabLevel

1 tutorial

 

mayo 2006

firefox
Citar            
MensajeEscrito el 11 Mar 2009 08:09 am
Bubudrc, si no le pones el parámetro, lo repetirá indefinidamente. La definición de Timer es

Código ActionScript :

Timer(delay:Number, repeatCount:int = 0)

Así que, si no le ponemos parámetro valdrá 0

Por resolver la duda, expliquemos un poco lo que queremos hacer
1.-Comprobar si hay cargada una imagen en "contenedor2"
2.-Si la hay, cargar la imagen de contenedor2 en contenedor1 (*) y cargar una nueva imagen en contenedor2

(*)Se realizaría con algo como

Código ActionScript :

var image:Bitmap = Bitmap(loader2.content);
contenedor1.addChild(image);

Por Eliseo2

710 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.