Ir para conteúdo

POWERED BY:

Arquivado

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

fabiodurgante

[Resolvido] preloader com barra

Recommended Posts

stop();
import flash.events.*;

this.addEventListener(Event.ENTER_FRAME, _checkLoading);

function _checkLoading(e:Event):void{
	
	var loaded:Number = this.loaderInfo.bytesLoaded;
	var total:Number = this.loaderInfo.bytesTotal;	
	
	var pct = (loaded/total)*100;
	preloader.text = "Carregado "+ pct.toFixed(1) +"%";
	
	if(Math.floor(pct)>= 100)
	{
		this.removeEventListener(Event.ENTER_FRAME,_checkLoading);
		this.gotoAndPlay(2);
	}
}


tenho esse preloader funciona porem quero colocar uma barra que va enchendo tipo esse exemplo aqui em AS2

 

 

var texto:TextField = this.createTextField('texto', this.getNextHighestDepth(), Stage.width/2 - 20, Stage.height/2 - 20, 40, 20);
var campo:TextField = this.createTextField('campo', this.getNextHighestDepth(), 0, Stage.height/2, 0, 5);
campo.border = true;
campo.background = true;
campo.backgroundColor = 0x888888;
var carregado = Math.round((loaded/total)*100);
texto.text = carregado + "%";	
campo._width = Math.round((loaded/total)*Stage.width);    

como fazer isso em AS3 no preloader acima ????????????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Fábio.

Este código exibe a barra de carregamento mais a porcentagem, se quiser apenas a barra basta excluir a linha do código.

 

stop();
var Carrega:Number;
var Perc:Number;
Barra.addEventListener(Event.ENTER_FRAME, Carregando);

function Carregando(e:Event):void{
	Carrega = stage.loaderInfo.bytesLoaded / stage.loaderInfo.bytesTotal;
	Perc = Math.round(Carrega * 100);
	Barra.scaleX = Carrega;
	per.text = Perc + "%";
	
	if(Perc == 100){
		Barra.removeEventListener(Event.ENTER_FRAME, Carregando);
		gotoAndPlay(2);
	}
}

Neste exemplo, a caixa de texto dinâmico que exibe a porcentagem foi instanciada como "per", e a barra de carregamento como "Barra".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funciona perfeitamente, mas é preciso que saiba como criar a barra de carregamento.

Só o código não fará isso por você.

 

A barra de carregamento é um movie clip instanciado como "Barra", que está declarado no action.

O local onde a barra carrega é outro movie clip, não precisa ser instanciado.

 

Por favor informe qual a mensagem de erro, fica mais fácil identificar onde houve falha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok acho q entendi o seu per.text tem que ser um static text no stage

e o Barra tem que ser um MC no stage tambem

 

 

so nao posso testar tenho um swf de 4 mega tem que fica sempre upando ele para poder testar e o servidor esta fora ai nao posso upar mas valeu pela ajuda ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

bah nao deu certo coloquei o MC e elenao carrega a barra soemnte a porcentagem

 

acho que teria q ser alguma coisa assim

 

criar o textfield

 

var texto:TextField = this.createTextField('texto', this.getNextHighestDepth(), Stage.width/2 - 20, Stage.height/2 - 20, 40, 20);

var campo:TextField = this.createTextField('campo', this.getNextHighestDepth(), 0, Stage.height/2, 0, 5);

campo.border = true;

campo.background = true;

campo.backgroundColor = 0x888888;

 

e depois fazer ele i carregando aumentando o seu tamanho

campo._width = Math.round((loaded/total)*Stage.width);

 

so que isso esta em AS2 e eu presiso em as3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fábio, é melhor que você especifique o tipo de arquivo em que deseja usar o preloader.

Conforme a sua necessidade, há outras soluções possíveis.

O que informei é básico, funciona adequadamente, mas realmente não serve para qualquer arquivo.

Sugiro adicione esta informação a sua pergunta, os colegas mais experientes poderão auxiliar.

Um abraço e boa sorte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se voce quer trabalhar com esse código em as 2 é so reescrever em as 3, mas o código que a elektra passou serve pra colocar a barra de porcentagem no seu filme sim, basta apenas alterar algumas coisas dependendo do seu filme.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara fiz exatamente o que foi passado anteriomente a porcentagem funciona perfeito porem a barra nao aumenta o tamanho fica sempre na mesma posicao

 

barra.scaleX = Carrega;

assim ele carrega tudo fora de alinhamenho comessa fora do stage e termina os 100% no meio do stage

 

 

tentei assim

 

ajustar ao tamnho do stage mas nao deu certo nao

 

barra.scaleX = (Math.round(pct*100)*stage.stageWidth)/100;

 

assim ele nao faz nada nao carrega nada

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae consegui fazer funcionar o negocio

 

ai esta o codigo q deu certo

import flash.display.*;
stop();
this.loaderInfo.addEventListener (ProgressEvent.PROGRESS, PL_LOADING);

function PL_LOADING(event:ProgressEvent):void {
var pcent:Number=event.bytesLoaded/event.bytesTotal*100;


lbar.width = Math.round(pcent*stage.stageWidth)/100;
lbc.text=int(pcent)+"%";

if(pcent>=100){
lbar.visible=false;
lbc.text="";
gotoAndPlay(2);
}
}

fazendo com ScaleX nao tem como nao funciona de jeito nenhum nao deu certo tive q fazer assim

 

lbar.width ai ele aumenta porem e isso aqui pcent*stage.stageWidth)/100;

para aumentar proporcional ao stage sem isso funciona porem sae tudo fora de ordem no stage

 

ai valeu pela ajuda de todos ate

 

ai o exemplo do carregamento

http://naparceria.ueuo.com/jogo.htm

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.