Ir para conteúdo

POWERED BY:

Arquivado

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

sephir

[Resolvido] galeria não funciona no loadmovie

Recommended Posts

Pessoal, estou quebrando a cabeça o dia todo com uma geleria, peguei ela num cd de uma revista, só que quando tento abrir ela com loadmovie ela aparece as tumbs mas não carrega a foto grande, aguem pode ame ajudar, estou desesperado. Sei que deve ser lance de _root e _parent, mas não consigo identificar o erro. ja tentei fazer o load movie com o

_lockroot = true; mas mesmo assim nun ta dando.

 

Segue o link do meu material

 

Meu Fla

 

Obrigado gente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando você carrega os thumbs, estes provavelmente são botões para a imagem maior certo? Verifique no código onde será aberta esta imagem (MC alvo existente ou criado dinâmicamente, então é só verificar o nível que este MC alvo se encontra para acertar o caminho. Pode utilizar o caminho absoluto ("_root.blablabla...") ou relativo ("_parent.blablabla...").

O próprio Flash possui uma ferramenta "Insert Target Path" que pode auxiliar nestes casos...

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra eu entendi mas não compreendi, hehee

 

como eu peguei esse cod pronto entao eu ja li e reli elev varias vezes, peloque entendi oq abre a foto é o containerMC, mas nele eu ja coloquei

_root.containerMC

_parent.containerMC

_parent.parent.containerMC

 

e não consegui nada com isso, o swf normal abre, sóq quero usar ele como um swf externo do meu site, e quando mando ele carregar ele num abre a foto grande, as fotos pequenas até abre mas quando clico nelas ele trava.

 

você baixou os files? eu fiz um fla chamado teste pra você ter um idéia doque to querendo.

 

Valew amigo

 

Fiquem com Deus

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então se você carrega ele separado funciona. Mas no caso de você carregá-lo sobre outro filme principal, os caminhos mudam...

No seu filme principal você deve ter algum MC para efetuar o loadMovie da galeria, exemplo um MC instanciado como "mc_alvo", então os caminhos:

_root = filme principal;

mc_alvo = MC que carrega o swf da galeria através do loadMovie;

containerMC = O MC que está na galeria e que abre a foto;

Caminho completa seria:

_root.mc_alvo.containerMC

 

beleza??

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou tentar em casa pois estou indo embora, você tentou e deu certo no teste?

 

Obrigado amigo e assim que eu tentar mais te falo aqui.

 

Valew

 

kra, não consegui... http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

 

ta assim no tumb

 

on (release) {

delete this.onEnterFrame;

_root.tint.play();

_root.containerMC._alpha=100;

_root.fora.containerMC.loadPic("images/img1.jpg");

 

}

 

e no outro codigo do primeiro frame esta

 

import mx.transitions.Tween;
import mx.transitions.easing.*;
spacing = 2;
containerMC._alpha = 0;
border._alpha = 0;
preloader._visible = false;
MovieClip.prototype.loadPic = function(pic) {
	_root.containerMC._alpha = 0;
	_level0.containerMC.loadMovie(pic);
	_root.onEnterFrame = function() {
		preloader._visible = true;
		var t = containerMC.getBytesTotal(), l = containerMC.getBytesLoaded();
		percent = 0;

		if (t) {
			percent = Math.floor(l/t*100);
		}

		preloader.preload_bar._xscale = percent;

		if (percent == 100) {
			border._alpha = 100;
			var w = _level0.containerMC._width+spacing;
			var h = _level0.containerMC._height+spacing;
			border.resizeMe(w,h);
			preloader._visible = false;
			delete _root.onEnterFrame;
		}
	};
};
MovieClip.prototype.resizeMe = function(w, h) {
	var speed = 3;
	_level0.border.onEnterFrame = function() {
		_level0.border._width += (w-_level0.border._width)/speed;
		_level0.border._height += (h-_level0.border._height)/speed;
		if (Math.abs(_level0.border._width-w)<1) {
			_level0.border._width = w;
			_level0.border._height = h;
			new Tween(_root.containerMC, "_alpha", Regular.easeOut, 0, 100, 1, true);
			_root.containerMC._x = _level0.border._x-_level0.border._width/2+spacing/2;
			_root.containerMC._y = _level0.border._y-_level0.border._height/2+spacing/2;
			_root.containerMC._alpha = 100;
			delete _level0.border.onEnterFrame;
		}
	};
};

amigo você abri o meu fla? se não , por favor deu uma olhada e veja se meu problema tem solução , se não tiver tenho que montar outra galeria o quanto antes.

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

o _lockroot = true resolve, o problema é que ela usa "_level0"

para fazer referencia ao stage

 

troca todos os "_level0" por "_root", e colocar _lockroot = true no 1º frame que deve resolver

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

o _lockroot = true resolve, o problema é que ela usa "_level0"

para fazer referencia ao stage

 

troca todos os "_level0" por "_root", e colocar _lockroot = true no 1º frame que deve resolver

 

 

[]´s

 

Opa Eder, beleza?

Coloco no primeiro frame do meu filme principal ou no swf da galeria?

 

valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

o "_lockroot" deve ser inserido no primeiro frame da galeria e como disse o Eder, troque todos "_level0" por "_root" dessa forma ele fará referência ao "_root" da galeria e não do filme principal.

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o _lockroot = true resolve, o problema é que ela usa "_level0"

para fazer referencia ao stage

 

troca todos os "_level0" por "_root", e colocar _lockroot = true no 1º frame que deve resolver

 

 

[]´s

 

 

o "_lockroot" deve ser inserido no primeiro frame da galeria e como disse o Eder, troque todos "_level0" por "_root" dessa forma ele fará referência ao "_root" da galeria e não do filme principal.

 

Att.

 

Bom dia Amigos, pessoal funcionou perfeitamente aqui, Quero mais um vez expressar minha gratidão com esse forum que pra mim, de longe, é o melhor do Brasil, visto que, coloco sempre as mesma duvidas que tenho e outros 2 e nem resposta tenho.

 

Muito obrigado mesmo e que Deus os abençoe

 

Segue o codigo certo funcionando:

_lockroot = true
import mx.transitions.Tween;
import mx.transitions.easing.*;
spacing = 2;
containerMC._alpha = 0;
border._alpha = 0;
preloader._visible = false;
MovieClip.prototype.loadPic = function(pic) {
	_root.containerMC._alpha = 0;
	_root.containerMC.loadMovie(pic);
	_root.onEnterFrame = function() {
		preloader._visible = true;
		var t = containerMC.getBytesTotal(), l = containerMC.getBytesLoaded();
		percent = 0;

		if (t) {
			percent = Math.floor(l/t*100);
		}

		preloader.preload_bar._xscale = percent;

		if (percent == 100) {
			border._alpha = 100;
			var w = _root.containerMC._width+spacing;
			var h = _root.containerMC._height+spacing;
			border.resizeMe(w,h);
			preloader._visible = false;
			delete _root.onEnterFrame;
		}
	};
};
MovieClip.prototype.resizeMe = function(w, h) {
	var speed = 3;
	_root.border.onEnterFrame = function() {
		_root.border._width += (w-_root.border._width)/speed;
		_root.border._height += (h-_root.border._height)/speed;
		if (Math.abs(_root.border._width-w)<1) {
			_root.border._width = w;
			_root.border._height = h;
			new Tween(_root.containerMC, "_alpha", Regular.easeOut, 0, 100, 1, true);
			_root.containerMC._x = _root.border._x-_root.border._width/2+spacing/2;
			_root.containerMC._y = _root.border._y-_root.border._height/2+spacing/2;
			_root.containerMC._alpha = 100;
			delete _root.border.onEnterFrame;
		}
	};
};

Podem, por favor encerrar esse Tópico

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia amigos, Eder Fortunato e Public2004

 

Aproveitando os vossos conhecimentos em flash, e que vcs me ajudaram e muito na minha ultima duvida, eu venho espor aqui uma divida que tenho em outra galerias xml

 

Segue o topico

 

tópico

 

Valew pessoal

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.