Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lmcosta

[Resolvido] Carregamento Externo de imagem e swf

Recommended Posts

Salve pessoal,

 

Como disse em meu outro tópico, estou me adaptando ao AS3 agora, e como toda adaptação estou tendo alguns problemas que eu sei que são por falta de experiência, então nada melhor do que compartilhar isso no forum com pessoas que ja tem essa experiência.

 

o Caso é o seguinte, fiz uma classe de teste que é o projeto "Alpha" de uma classe que vai servir como padrão para carregamento de arquivos, ela tem pouco metodos mesmo porque, estou iniciando ela agora, o grande problema é que depois de carregar o arquivo ela não mostra o mesmo no Stage, mesmo eu tendo adicionado o arquivo com addChild(), segue o código.

 

Classe LoadFile.as

 

package com.lucasmarcal.displayloader 
{
	
	/**
	 * @version: 1.0 Alpha
	 */
	import flash.display.Loader;
		import flash.display.Sprite;
	import flash.net.URLRequest;
		import flash.events.*;
	
	public class LoadFile extends Sprite
	{
		var l:Loader =  new Loader()
		var perc:Number;
		var container:Sprite =  new Sprite()
		
		public function LoadFile() 
		{
			trace("iniciou classe de carregamento")
			initLoadFile()
		}
		
		public function initLoadFile():void
		{
			l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop)
			l.contentLoaderInfo.addEventListener(Event.COMPLETE, done)
			l.load(new URLRequest("conteudo.swf"))
		}
		
		public function loop(e:ProgressEvent):void
		{
			perc =  e.bytesLoaded / e.bytesTotal 
			trace(Math.ceil(perc * 100).toString() + "%")
		}
		
		public function done(e:Event):void
		{
			container.addChild(l)
		}
		
	}
	
}

Código no arquivo fla

 

import com.lucasmarcal.displayloader.LoadFile
var lod:LoadFile =  new LoadFile()

Se alguém puder me ajudar eu agradeço.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta inserindo o banner carregado dentro do Sprite "container", mas não esta adicionando esse "container" no palco

 

 

 

teste assim:

 

 

import com.lucasmarcal.displayloader.LoadFile
var lod:LoadFile =  new LoadFile()
addChild(lod)

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta trocar isso:

 

public function initLoadFile():void
		{
			l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop)
			l.contentLoaderInfo.addEventListener(Event.COMPLETE, done)
			l.load(new URLRequest("conteudo.swf"))
		}

por isso:

 

 

public function initLoadFile():void
		{
			l.load(new URLRequest("conteudo.swf"))
			l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop)
			l.contentLoaderInfo.addEventListener(Event.COMPLETE, done)
		}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve pessoal

 

Agradeço a todos que me ajudaram, segue abaixo a classe pronta, quem sabe alguém precisa!

abraços

 

LoadFile.as

package com.utils.displayloader 
{
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.*
	import flash.net.URLRequest;
	import flash.text.TextField;
	
	/**
	 * ...
	 * @author: Lucas Marçal
	 * @version: 1.1 beta
	 * @since: 10/02/2009
	 * @link: http://labs.lucasmarcal.com.br/
	 * @usage: 
	 *  import com.utils.displayloader.LoadFile
	 *	addChild(txtPct)
	 *	var lod:LoadFile =  new LoadFile("conteudo.swf",txtPct)
	 *	this.addChild(lod);
	 */
	public class LoadFile extends Sprite
	{
		public var l:Loader =  new Loader();
		public var pct:Number;
		public var txtPorcentagem:TextField;
		
		/**
		 * 
		 * @param	_url
		 * @param	_txtPct
		 */
		public function LoadFile(_url:String,_txtPct:TextField):void
		{
			trace("Iniciou a classe " + _url)
			createListners(l.contentLoaderInfo)
			var urlPath:URLRequest = new URLRequest(_url);
			l.load(urlPath)
			txtPorcentagem = _txtPct
			addChild(l)
		}
		/**
		 * 
		 * @param	_eventDispach
		 */
		public function createListners(_eventDispach:IEventDispatcher):void
		{
			_eventDispach.addEventListener(Event.COMPLETE, loadFull);
			_eventDispach.addEventListener(Event.OPEN, initLoad);
			_eventDispach.addEventListener(ProgressEvent.PROGRESS, inLoad);
			_eventDispach.addEventListener(IOErrorEvent.IO_ERROR, failedLoad);
		}
		/**
		 * 
		 * @param	e
		 */
		public function failedLoad(e:IOErrorEvent):void 
		{
			trace("Erro ao carregar arquivo")
			txtPorcentagem.text = "Erro ao carrega arquivo"
		}
		/**
		 * 
		 * @param	e
		 */
		public function inLoad(e:ProgressEvent):void 
		{
			trace("Carregando arquivo ")
			pct =  e.bytesLoaded / e.bytesTotal;
			txtPorcentagem.text = Math.ceil(pct * 100).toString() + "%"
			addChild(txtPorcentagem)
		}
		/**
		 * 
		 * @param	e
		 */
		public function initLoad(e:Event):void 
		{
			trace("Iniciou Carregamento de arquivo")
			txtPorcentagem.text = "Carregando"
		}
		/**
		 * 
		 * @param	e
		 */
		public function loadFull(e:Event):void 
		{
			trace("Terminou Carregamento de Arquivo")
			txtPorcentagem.text = ""
			pct = undefined
		}
		
	}
	
}

Exmplo.fla

import com.utils.displayloader.LoadFile
addChild(txtPct)
var lod:LoadFile =  new LoadFile("conteudo.swf",txtPct)
this.addChild(lod);

Abraço a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.