Comunidad de diseño web y desarrollo en internet online

Problema con Preloder

Citar            
MensajeEscrito el 07 Feb 2010 07:27 pm
Buenas!

Tengo un problema con un preloader. Os comento a continuacion que es lo que trato de hacer, y no consigo:

-Tengo una clase Preloader.fla que usa una clase main.as.
-El main.as simula una precarga

Posteriormente de finalizar esta precarga me gustaria cargar otra pelicula. Lo he intentado añadiendo dentro del main.as un objeto loader con la url del index.swf pero no hay manera.

¿alguien me puede ayudar?

Un saludo y gracias de antemano.

Por burningman

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Feb 2010 09:34 pm
Si no posteas algo de código es algo difícil saber dónde tienes el error...

Has comprobado mediante trace() que te entra en la función dónde hacer el loader ?

Por ur!

256 de clabLevel



 

Barcelona

chrome
Citar            
MensajeEscrito el 16 Feb 2010 11:22 pm
Pues a ver, te comento.

Por un lado tengo una pelicula .swf que es el preloader. este tiene una clase .as asociada con un codigo as3, el caso es que me gustaria que cuando ese codigo llegara al 100% el preloader cargara mi index.swf ¿Donde codifico esto, en el .swf, en el .as?

package com.flashdo.flashblue
{
import flash.display.*;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.text.*;
import caurina.transitions.Tweener;

dynamic public class Main extends MovieClip
{
public var preloader:Preloader;

public function Main()
{
addEventListener(Event.ADDED_TO_STAGE,init);
}

private function init(e:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE,init);
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
loadFile("content.swf"); //Call preloader
}

//Load File
private function loadFile(filename):void
{
//Add Preloader
preloader = new Preloader();
preloader.x = 145;
preloader.y = 150;
addChild(preloader);
//Load Content
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.OPEN,loaderOpen);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loaderProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaderComplete);
//Set file / swf to preload
loader.load(new URLRequest(filename));
}

//Rotate Preloader
private function rotatePreloaderTop(e:Event):void
{
e.target.rotation += 12;
}

private function rotatePreloaderBottom(e:Event):void
{
e.target.rotation -= 12;
}

//Init preloader
private function loaderOpen(e:Event):void
{
preloader.circleTop.addEventListener(Event.ENTER_FRAME, rotatePreloaderTop);
preloader.circleBottom.addEventListener(Event.ENTER_FRAME, rotatePreloaderBottom);
preloader.alpha = 0;
Tweener.addTween(preloader,{alpha:1,time:0.3,transition:"linear"});
}

//Show percent
private function loaderProgress(e:ProgressEvent):void
{
var percent:String = Math.ceil((e.bytesLoaded/e.bytesTotal)*100).toString();
preloader.percentTopTxt.text = percent;
preloader.percentBottomTxt.text = percent;
}

//Complete preloader
private function loaderComplete(e:Event):void
{
//Remove loader events
e.target.removeEventListener(Event.OPEN,loaderOpen);
e.target.removeEventListener(ProgressEvent.PROGRESS, loaderProgress);
e.target.removeEventListener(Event.COMPLETE,loaderComplete);
//Hide preloader
Tweener.addTween(preloader,{alpha:0,time:0.3,transition:"linear",
onComplete:function(){
this.circleTop.removeEventListener(Event.ENTER_FRAME, rotatePreloaderTop);
this.circleBottom.removeEventListener(Event.ENTER_FRAME, rotatePreloaderBottom);
//Remove preloader if you won't use later
removeChild(this);
}
});
//Add loaded content to stage
addChild(e.target.content);
}
}
}

Un saludo y gracias

Por burningman

7 de clabLevel



 

firefox

 

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