Ir para conteúdo

POWERED BY:

Arquivado

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

Campão

[Resolvido] Centralizar loadMovie

Recommended Posts

Fala galera, beleza??

 

Bom seguinte, eu fiz um photogallery baseada em um tutorial, ai dei umas modificadas para ficar do jeito que eu queria, e agora so esta faltando centralizar a imagem que ira ser carregada, na verdade eu ate consegui, porem as imagens so ficam centralizadas quando a imagem que foi aberta anteriormente tem o mesmo _width e _height, estranho neh!!!! Bom deêm uma olhada,!!!

 

achei melhor colocar o arquivo para vcs verem!!

falows!!!

 

http://rapidshare.com/files/101380827/galeria.rar

 

depois disso tenho outras duvidas.. mais fica pra depois

 

valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ow galera... ninguem sabe essa?!?!! rs

 

nem você Eder Fortunato, que sempre responde meus posts!!!??? rs

 

help!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá campão

 

nosso trabalho no forum é voluntário, portanto, não espere suporte 24horas.

 

ajude outros usuários que também tem dúvidas como as suas. Com isso você aprenderá.

 

 

movimentando idéias

Compartilhar este post


Link para o post
Compartilhar em outros sites

atendimento 24 horas busca empresas...

 

 

bom... o que você qr é 100% na pagina...

 

faz isso com css

 

nao entende no Imasters deve ter algumas umas coisas...

 

ALTURA E LARGURA tem q ta em 100% no CSS

Compartilhar este post


Link para o post
Compartilhar em outros sites

atendimento 24 horas busca empresas...

 

 

bom... o que você qr é 100% na pagina...

 

faz isso com css

 

nao entende no Imasters deve ter algumas umas coisas...

 

ALTURA E LARGURA tem q ta em 100% no CSS

 

o assunto é actionScript e não html

 

 

pra centralizar um objeto basta fazer os cálculos

 

W = largura cena

H = altura cena

objH = altura objeto

objW = largura objeto

 

Y = ( H / 2 ) - ( objH / 2 );

X = ( W / 2 ) - ( ojbW / 2 );

 

objY = Y;

objX = X;

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai galera beleza???

 

Bom primeiro, desculpa se acabei parecendo folgado, mas garanto a todos que tudo não passou de uma brincadeira, infelizmente a internet tem esse problema, em que acabamos não conseguindo expressar o que realmente estamos tentando passar, de qq forma foi mal ai!!!!

 

Quanto a minha duvida, é o seguinte:

 

Coloquei o arquivo para download pq fica mais facil do q explicar, mas vou tentar

 

bom a logica de centralizar (Y = ( H / 2 ) - ( objH / 2 ); X = ( W / 2 ) - ( ojbW / 2 ) eu entendi e estou ate usando, porem acho que o meu problema esta na forma como eu programei, pois como eu ja havia escrito acima, quando eu clico em imagens que tem o mesmo tamanho (width x height), da segunda imagem em diante fica centralizado certo, mas quando eu clico em uma imagem que tem um tamanho diferente, ela fica descentralizada!!!

 

deem uma olhada aqui!!!

 

http://www.illuminart.com.br/teste/index.html

 

é o mesmo arquivo que eu coloquei para download!!!

 

façam o teste, cliquem em um abajur e depois em outro abajur, você vão ver que do segundo clique para frente eles ficam centralizados no quadro azul, porem quando você clicar em uma foto que não seja um abajur (foto que tem o tamanho diferente) ela vai ficar descentralizada!!!

 

o codigo ta aqui!!

 

stop();
preloader._visible = false;
desc_txt._visible = false;
pos_txt._visible = false;

function loadXML(loaded) {
	if (loaded) {
		xmlNode = this.firstChild;
		image = [];
		description = [];
		thumbnails = [];
		total = xmlNode.childNodes.length;
		for (i=0; i<total; i++) {
			image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
			description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
			thumbnails[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
			thumbnails_fn(i);
		}
		firstImage();
	} else {
		content = "file not loaded!";
	}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("images.xml");
p = 0;
this.onEnterFrame = function() {
	var altura:Number;
	filesize = picture.getBytesTotal();
	loaded = picture.getBytesLoaded();
	preloader._visible = true;
	desc_txt._visible = true;
	pos_txt._visible = true;
	if (loaded != filesize) {
		preloader.preload_bar._xscale = 100*loaded/filesize;
		preloader.pct = Math.floor((loaded/filesize)*100);
		preloader.pct = preloader.pct + "%"
	} else {
		preloader._visible = false;
		if (picture._alpha<100) {
			picture._alpha += 10;
		}
	}
};
function firstImage() {
	foto1 = total-1;
	if (p != atual){
		if (loaded == filesize) {
			picture._alpha = 0;
			picture._visible = false;
			picture.loadMovie(image[foto1], 1);
			desc_txt.text = description[0];
			atual = p;
			picture_num();
		}
	}
}
function nextImage() {
	if (p<(total-1)) {
			p++;
			if (p != atual){
				if (loaded == filesize) {
					picture._alpha = 0;
					picture._visible = false;
					picture.loadMovie(image[p], 1);
					picture._x = 200+((480-picture._width)/2);
					picture._y = 66+((380-picture._height)/2);
					borda._width = picture._width + 10;
					borda._height = picture._height + 10;
					desc_txt.text = description[p];
					atual = p;
					picture_num();
				}
			}
	}
}
function prevImage() {
	if (p>0) {
			p--;
			if (p != atual){
				picture._alpha = 0;
				picture._visible = false;
				picture.loadMovie(image[p], 1);
				picture._x = 200+((480-picture._width)/2);
				picture._y = 66+((380-picture._height)/2);
				desc_txt.text = description[p];
				atual = p;
				picture_num();
			}
	}
}
function picture_num() {
	current_pos = p+1;
	pos_txt.text = current_pos+" / "+total;
}
function thumbNailScroller() {
	// thumbnail code! 
	this.createEmptyMovieClip("tscroller", 1000);
	scroll_speed = 10;
	tscroller.onEnterFrame = function() {
		if ((_root._xmouse>=thumbnail_mc._x) && (_root._xmouse<=thumbnail_mc._x+thumbnail_mc._width)) {
			if ((_root._ymouse>=(hit_right._y-40)) && (thumbnail_mc.hitTest(hit_right))) {
				thumbnail_mc._y -= scroll_speed;
			} else if ((_root._ymouse<=(hit_left._y+135)) && (thumbnail_mc.hitTest(hit_left))) {
				thumbnail_mc._y += scroll_speed;
			}
		} else {
			delete tscroller.onEnterFrame;
		}
	};
}
function thumbnails_fn(k) {
	thumbnail_mc.createEmptyMovieClip("t"+k, k);
	tlistener = new Object();
	tlistener.onLoadInit = function(target_mc) {
		target_mc._y = altura;
		altura = target_mc._y+target_mc._height+5;
		target_mc.pictureValue = k;
		target_mc.onRelease = function() {
			p = this.pictureValue-1;
			nextImage();
		};
		target_mc.onRollOver = function() {
			this._alpha = 50;
			thumbNailScroller();
		};
		target_mc.onRollOut = function() {
			this._alpha = 100;
		};
	};
	image_mcl = new MovieClipLoader();
	image_mcl.addListener(tlistener);
	image_mcl.loadClip(thumbnails[k], "thumbnail_mc.t"+k);
}

valew!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara eu acabei passando pro arquivo xml a altura e a largura das imagens,

 

ai ficou facil de centralizar...

 

o unico problema é que serão mais 2 dados a mais para cada imagem no banco de dados...

 

de qq forma..deu certo agora

 

valew pela atenção!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acontece que, (nao sei explicar o pq), mas o flash não reconhece o _width e _height assim q a foto eh carregada dentro do movieclip. isso tem um delay.. q enche o saco até você descobrir ele.

 

Fora o fato q o movieclip vira um zombie se você carrega algo dentro dele atravez de loadMovie.

 

Eu contornei isso fazendo assim

 

1º Criando um movieClip q vai receber a foto q vai ser centralizada.

2º Esse movieClip vai estar dentro de outro movieClip, q vai servir de container pra segurar o movieClip do loadMovie, q vira um zombie..

3º Coloco um onEnterframe no container, q ainda é obediente, e espero o _width sai do zero, pra dai poder centralizar

 

CODE

 

foto.container_mc.loadMovie("carregar.jpg");

foto.onEnterFrame = function (){

if(this.container_mc._width > 0){

this.container_mc._x = (100 - this.container_mc._width) / 2;

delete(this.onEnterFrame);

}

}

 

So pra deixar claro, Eh o movie clip foto, q dentro dele tem o movieClip container_mc q leva o loadMovie

 

Espero ter ajudado

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.