Ir para conteúdo

Arquivado

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

Danielbase

mc deslizante não cabe no flash

Recommended Posts

Isso ai, ele terá duas limitações, ele poderá executar esse script quando for menor que zero porque ele só vai inicialmente pra esquerda então o x dele semper será negativo, e na outra ponta você vai ter que somar o tamanho do movieclip menos o tamanho do palco, que é o total da area que ele pode rolar, então você pode colocar tudo naquela função rolar, ficaria mais ou menos assim:function rolar() { limite = -(images._width-Stage.width); // aqui você colocar o if dando a limitação, junto com o enterframe que estava embaixo, acima ta a conta do maior.}ve ai se você consegue esse if

cara, achei que ficaria assim ó:
function rolar() {limite = -(images._width-Stage.width); if (images._x < 0) { delete this.onEnterFrame;}trace(images._width);}onEnterFrame = function(){	fracao = (_root._xmouse - (Stage.width / 2)) / 20;	fracao = fracao * -1;	trace(fracao);	images._x +=  fracao;}
Mas Num é!!!! Acho que eu to com a ideia certa e não to sabendo como transcrever no codigo!Da um help ae!!!!! Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

é mais ou menos isso mesmo, só qe se você deletar o onEnterFrame você não vai mais mover quando ele for pro outro lado, fiz outra aqui e criei uma variavel valor pra colocar no lugar da velocidade que criamos daquela divisão, da uma olhada como ficou:

 

function rolar() {
	limite = -(images._width-Stage.width);
	valor = 10;
	onEnterFrame = function () {
		if (images._x<0 && _root._xmouse<(Stage.width/2) || images._x>=limite && _root._xmouse>(Stage.width/2)) {
			fracao = (_root._xmouse-(Stage.width/2))/valor;
			fracao = fracao*-1;
			images._x += fracao;
		}
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

CARA, Muito Obrigado mesmo, Além de estar tudo funcionando perfeitamente, eu aprendi muito sobre actionScript hoje!!!!Espero que todos os que tem mais conhecimento tb tenham a iniciativa de compartilha-lo!!!!Parabéns pela paciência!!!Abraço!Obs.: Quem quiser o fla deste tópico posta ai que eu mando!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Carneirinho!

 

Cara, só mais uma coisa... Quando eu chamo em um swf principal esse swf da galeria ( via loadMovie ) ele toma como Stage.width a largura do swf principal, o que deixa todos os calculos que dependem da largura do palco errados.

 

Já coloquei (this._lockroot = true;) mas não funcionou... Como eu posso resolver isso?

 

Valeu A Força!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai você vai ter que colocar um retangulo da area do seu movieclip, deixa ele transparente e vai ter que adaptar a conta em relação ao retangulo, no lugar do Stage, o _lockroot funciona pra hierarquias, pra manter os caminhos ainda valendo, mas ainda assim se um dia você quiser achar o _root do arquivo principal, quando estiver com _lockroot nesse movieclip, você pode usar o _root._parent que ele desce um nível alem do _root que você deu um lock, agora quanto ao Stage, ele não trava as dimenções do Stage.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai você vai ter que colocar um retangulo da area do seu movieclip, deixa ele transparente e vai ter que adaptar a conta em relação ao retangulo, no lugar do Stage, o _lockroot funciona pra hierarquias, pra manter os caminhos ainda valendo, mas ainda assim se um dia você quiser achar o _root do arquivo principal, quando estiver com _lockroot nesse movieclip, você pode usar o _root._parent que ele desce um nível alem do _root que você deu um lock, agora quanto ao Stage, ele não trava as dimenções do Stage.

Entendi, Obrigado!Eu fiz o seguinte, ao invez de colocar Stage Width, eu coloquei o valor em pixels da largura do palco, Funcionouu na Boa, A única coisa é que agora o mc ta saindo do palco. O código ficou assim:
this._lockroot = true;function rolar() {	limite = -(images._550);	valor = 10;	onEnterFrame = function () {		if (images._x<0 && _root._xmouse<(550/2) || images._x>=limite && _root._xmouse>(550/2)) {			fracao = (_root._xmouse-(550/2))/valor;			fracao = fracao*-1;			images._x += fracao;		}	}}
O Que você acha, tá totalmente errado ou dá pra seguir nesse caminho?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, a não ser que você tenha declarado tipo images._550 = valor, ele num vai pegar nada de valor desse _550, porque não é uma propriedade do movieclip, você ja deu um trace(images._550) pra ver o que ele retorna?O melhor é transformar tudo num movieclip e fazer calculos dentro dele sem usar nada referente ao root, ai você podera arrastar e colocar onde quiser, se quiser fazer isso a gente faz, só vou te dar a adiantada que hoje to aloprado aqui no trampo e não vai dar pra dar aquela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, a não ser que você tenha declarado tipo images._550 = valor, ele num vai pegar nada de valor desse _550, porque não é uma propriedade do movieclip, você ja deu um trace(images._550) pra ver o que ele retorna?O melhor é transformar tudo num movieclip e fazer calculos dentro dele sem usar nada referente ao root, ai você podera arrastar e colocar onde quiser, se quiser fazer isso a gente faz, só vou te dar a adiantada que hoje to aloprado aqui no trampo e não vai dar pra dar aquela atenção.

Tranquilo!!!! O Que já tenho pronto tá quebrando o galho!!!! amanhã se você tiver tempo a gente vê isso cara!tô colocando o arquivo aqui e se quiser ver como ele esta funcionando no site: clica aqui! é só entrar em coleção!Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

PO ficou levinho, só perdi um empo procurando o menu, ficou meio estranho ali, eu mesmo ia fechar sem achar os botões se não soubesse que tinha coisa pra clicar, amanhã a gente ve essa parada então, era bom colocar um preloader pras fotos tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é Cara, ficou leve mesmo! Esse lançe do menu eu tb acho muito ruim, mas cliente num tem noção, nem quando a gente avisa eles mudam de ideia... Da mesmo pra colocar um preloader nessas imagens??? Muito legal se rolar isso!!!!!!Quando puder postar, to por aqui!Valeu!!!!Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então cara, eu vi seu fla e ja vi que você ja começou a usar numeros exatos pra fazer contas, isso é ruim porque você vai ficar toda hora editando o fla quando tiver mudanças, e isso não é bom, melhor é a gente fazer um fla novo e começar outro script e aproveitar parte daquele, o que você precisa é criar tipo uma mascara deonde o objeto vai andar no palco e tb fazer o calculo da mascara referente a posição e largura que ele ta no palco, então vamos fazer o seguinte, desenhamos um retangulo no palco que será a area que aparecerá as imagens rolando e disso ja vamos fazer aquela conta pra ele pegar o centro desse retangulo e retornar aqueles nuemro de 0 a numeros positivos a partir do centro do retangulo pra direita e 0 a numeros negativos do centro do retangulo pra esquerda, independente da posição dele em _x e da largura no palco, então crie um retangulo e salve ele como movieclip, de o nome de instancia pra ele de limitador e vamos aos calculos:

 

onEnterFrame = function () {
	dif = _root._xmouse - limitador._x; // vai pegar a distancia do limitador em relação ao começo do palco e diminuir do mouse, assim quando o mouse estiver encostado no começo do limitador, vai marcar como posição zero
	pct = ((dif / limitador._width) * 100); // aqui uma porcentagem simples de 0 a 100 da posição do mouse sobre o limitador
	nova_conta = pct - 50; aqui é a porcentagem - 50 pra ele fazer o calculo de -50 a 50 quando anda sobre o limitador
	trace(nova_conta); // resultado final da conta
};

testa ai e se der certo posta pra gente continuar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso ai, agora você usa aquela variavel valor pra dividir esse 50, mantem o _lockroot e usa essa distancia do incicio do _root pro limitador._x pra usar como um dos limites, e o _x do limite + limite._width pra ser o outro limite, tenta ai, se não conseguir eu te dou mais essa ajuda

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.