Ir para conteúdo

POWERED BY:

Arquivado

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

filipecrosk

[Resolvido] Flash carrega com espaço do lado

Recommended Posts

Olá amigos,

 

eu estou desenvolvendo um site que vai ter um FLASH com uma imagem no fundo, esse flash tem que ser auto-redimensionavel, para sempre fica ajustado em 100% da tela, seja de largura e altura. Até aqui tudo ok. O flash carrega a imagem externa, e se auto-ajusta.

 

Mas não sei porque ele cria um espaço em branco/preto do lado esquerdo.

Acessem: http://www.primeiroestilo.com.br/desenvolvimento/terratextil/flash.php

 

Vocês vão ver que ele tá gerando um espaço do lado esquerdo, mas não era para ter isso, era para a imagem ficar alinhada no canto esquerdo/topo.

 

Alguém poderia me ajudar?

 

Quem quiser ver o arquivo FLA tá aqui: http://www.primeiroestilo.com.br/desenvolvimento/terratextil/image_load.fla

 

Desde já valeu ajuda galera...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é...

 

Acontece que seu código de alinhamento está errado :)

você tem que alinhar ele corretamente

 

Normalmente é assim que se alinha

 

alvo._x = alvo._x + (Stage.width/2 - alvo._width/2);
alvo._y = alvo._y + (Stage.height/2 - alvo._height/2);

Para conseguir as informações de width e height

Você deve usar a classe MovieClipLoader

Caso esteja usando o loadMovie... é aconselhavel que você saiba o tamanho da imagem... e assim faça o calculo como indicado acima.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa,

 

valeu cara...

 

mas infelizmente não consegui resolver...

 

tenho 2 opções de código, mas nenhuma resolveu.. =(

 

1:

var meuMVL:MovieClipLoader = new MovieClipLoader();
var meuListener:Object = new Object();
_root.createEmptyMovieClip("imagem", 0);

meuMVL.loadClip(_root.imageFilename,imagem);

meuListener._x = meuListener._x + (Stage.width/2 - meuListener._width/2);
meuListener._y = meuListener._y + (Stage.height/2 - meuListener._height/2);

meuMVL.addListener(meuListener);

_root.texto._visible = false;
_root.barra._visible = false;

2:

//Código de carregamento de imagem
_root.createEmptyMovieClip("imagem", 1);
imagem.loadMovie(_root.imageFilename);
_root.texto._visible = false;
_root.barra._visible = false;
barra.onEnterFrame = function(){
	filmeTotal = imagem.getBytesTotal();
	filmeBaixado = imagem.getBytesLoaded();
	baixando = (filmeBaixado/filmeTotal)*100;
	barra._xscale = int(baixando);

	if( baixando == 100 ){
		_root.barra._visible = false;
		delete this.enterFrame();
		imagem._x = Stage.width/2 - imagem._width/2;
		imagem._y = Stage.height/2 - imagem._height/2;
	};
};

mas mesmo fazendo isso ainda continua dando o espaço... infelizmente faz tempo que não mecho com AS que nem sei mais como fazer isso... =(..

se puder ajudar...

 

valeus :D

 

Pois é... Acontece que seu código de alinhamento está errado :)você tem que alinhar ele corretamente Normalmente é assim que se alinha alvo._x = alvo._x + (Stage.width/2 - alvo._width/2); alvo._y = alvo._y + (Stage.height/2 - alvo._height/2);Para conseguir as informações de width e heightVocê deve usar a classe MovieClipLoaderCaso esteja usando o loadMovie... é aconselhavel que você saiba o tamanho da imagem... e assim faça o calculo como indicado acima. Abraços 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Errrrrr

 

Isso aqui ta total errado:

var meuMVL:MovieClipLoader = new MovieClipLoader();
var meuListener:Object = new Object();
_root.createEmptyMovieClip("imagem", 0);

meuMVL.loadClip(_root.imageFilename,imagem);

meuListener._x = meuListener._x + (Stage.width/2 - meuListener._width/2);
meuListener._y = meuListener._y + (Stage.height/2 - meuListener._height/2);

meuMVL.addListener(meuListener);

_root.texto._visible = false;
_root.barra._visible = false;

meuListener é um objeto... objetos não são nada... a não ser que você implemente algo a eles....

 

O jeito correto seria:

var meuMVL:MovieClipLoader = new MovieClipLoader();
var meuListener:Object = new Object();
_root.createEmptyMovieClip("imagem", 0);

meuMVL.loadClip(_root.imageFilename,imagem);
meuListener.onLoadInit = function(){
imagem._x = imagem._x + (Stage.width/2 - imagem._width/2);
imagem._y = imagem._y + (Stage.height/2 - imagem._height/2);
}
meuMVL.addListener(meuListener);

_root.texto._visible = false;
_root.barra._visible = false;

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeus berseck,

 

dei uma estudada e consegui fazer o que queria... se alguém precisar algum dia tá aí a solução...

 

O Flash vai carregar uma imagem externa, sendo passada através do parametro FlashVars, e vai jogar ela em 100% e se o cara redimensionar a janela a imagem vai ser redimensionada também, ficando sempre em 100%.

 

E esse código é usando Action Scripe 3, então tem que lembrar de exportar nesse formato.

 

import fl.transitions.Tween;
import fl.transitions.easing.*; 
import flash.text.*;
var xTween:Tween;
var yTween:Tween;

var varName:String;
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
for (varName in paramObj) {
	imageFilename = String(paramObj[varName]);
}
var imageFilename:String;

stage.addEventListener(Event.RESIZE, resizeListener);

var carregarImg:Loader = new Loader();
var enderecoImg:URLRequest = new URLRequest(imageFilename);
carregarImg.load(enderecoImg);
addChild(carregarImg);

carregarImg.contentLoaderInfo.addEventListener(Event.COMPLETE,funcComplete);

function funcComplete(e:Event){
	trace("Successfully Loaded");
	carregarImg.width=stage.stageWidth;
	carregarImg.height=stage.stageHeight;
	addChild(carregarImg);
}

function resizeListener (e:Event):void {
	trace("stageWidth: " + stage.stageWidth + " stageHeight: " + stage.stageHeight);
	carregarImg.width=stage.stageWidth;
	carregarImg.height = stage.stageHeight;
}

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

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.