Ir para conteúdo

POWERED BY:

Arquivado

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

Stênio Francisco

Deslizar na vertical

Recommended Posts

Olá,

 

Tenho um menú deslizando na horizontal

mas quero faze-lo deslizar na vertical.

 

onClipEvent (load) {

nScreenWidth = 450;

nMaxRate = 15;

// nPixels determina a velocidade do movimento

function moveLeft(nPixels) {

this._x -= nPixels;

if (this._x<0-nScreenWidth) {

this._x = 0;

}

}

function moveRight(nPixels) {

this._x += nPixels;

if (this._x>0) {

this._x = 0-nScreenWidth;

}

}

}

onClipEvent (enterFrame) {

// movimento dependendo da posição do mouse

if (_root._xmouse<nScreenWidth/2 && _root._xmouse>0) {

moveRight(nMaxRate-_root._xmouse*nMaxRate/(nScreenWidth/2));

} else {

if (_root._xmouse>nScreenWidth/2 && _root._xmouse<nScreenWidth) {

moveLeft(_root._xmouse*nMaxRate/(nScreenWidth/2)-nMaxRate);

}

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagino que só trocando os valores de x para y resolva:

 

onClipEvent (load) {	nScreenHeight = 450;	nMaxRate = 15;	// nPixels determina a velocidade do movimento	function moveUp(nPixels) {		this._y -= nPixels;		if (this._y < 0 - nScreenHeight) {			this._y = 0;		}	}	function moveDown(nPixels) {		this._y += nPixels;		if (this._y > 0) {			this._y = 0 - nScreenHeight;		}	}}onClipEvent (enterFrame) {	// movimento dependendo da posição do mouse	if (_root._ymouse < nScreenHeight / 2 && _root._ymouse > 0) {		moveDown(nMaxRate - _root._ymouse * nMaxRate / (nScreenHeight / 2));	} else if (_root._ymouse > nScreenHeight / 2 && _root._ymouse < nScreenHeight) {		moveUp(_root._ymouse * nMaxRate / (nScreenHeight / 2) - nMaxRate);	}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Antônio, deu certo aki!Só q agora surgiu um outro problema q é o tamanho movie clip q elatá rodando,é um no tamanho de 2038.0 de altura com 22 fotos, e nota-se q não rodam todas as fotos, só umas 7 e volta p/ o começo! Te como ajustar isso? Onde?Por hora, obrigado![]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim mudar o 'nScreenHeight' ? http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

 

Estou com esse mesmo pro, soh que cmg saum 40 imagens :P

 

você poderia explicar melhor como faco essa mudanca? http://forum.imasters.com.br/public/style_emoticons/default/shifty.gif

 

flw :rolleyes:

 

To disponibilizando o .fla pra consulta. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

http://geocities.yahoo.com.br/cellindra/menu_estrutura.fla

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse fla aí deve ser o velho, não?Bom, fiz umas mudanças no AS do seu fla:onClipEvent (load) { //a altura da área visível do menu (nesse caso do palco), muda isso depois nScreenHeight = 66; // nPixels determina a velocidade do movimento nMaxRate = 15; function moveUp(nPixels) { this._y -= nPixels; if (this._y < 0 - this._height) {//se o mc estiver totalmente acima da área this._y = 0 + nScreenHeight;//volta lá pra baixo } } function moveDown(nPixels) { this._y += nPixels; if (this._y > 0 + nScreenHeight) {//se o mc estiver totalmente abaixo da área this._y = 0 - this._height;//volta lá pra cima } }}onClipEvent (enterFrame) { // movimento dependendo da posição do mouse if (_root._ymouse < nScreenHeight / 2 && _root._ymouse > 0) { moveDown(nMaxRate - _root._ymouse * nMaxRate / (nScreenHeight / 2)); } else if (_root._ymouse > nScreenHeight / 2 && _root._ymouse < nScreenHeight) { moveUp(_root._ymouse * nMaxRate / (nScreenHeight / 2) - nMaxRate); }}Flw. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O meu eh na horizontal mesmo http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

 

soh que fiz as mudanças do Y para o X, e do Height para Width, e o menu fica todo doidao :lol:

 

To testando esse novo formato de codigo, soh que o ponto central ta mais na direita, naum sei pq :unsure:

 

onClipEvent (load) {nScreenWidth = 500;velocidademax = 15;function moveLeft(nPixels) { this._x -= nPixels; if (this._x<0-3355) {  this._x = 0; }}function moveRight(nPixels) { this._x += nPixels; if (this._x>0) {  this._x = 0-3355; }}}onClipEvent (enterFrame) {if (_root._xmouse<500 && _root._xmouse>0) { moveRight(velocidademax-_root._xmouse*velocidademax/500);} else {  moveLeft(_root._xmouse*velocidademax/300-velocidademax); }}
flw :rolleyes:

 

================================================== Editado

 

Weeeeeeeeeeee http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Consegui http://forum.imasters.com.br/public/style_emoticons/default/yay.gif

 

Ve bem... o codigo antigo, e onde eu modifiquei ^_^

 

CODE

onClipEvent(load) {

nScreenWidth = 547;

nMaxRate = 15;

// nPixels determines the speed of the slider movement

function moveLeft(nPixels) {

this._x -= nPixels;

if (this._x < 0-3355) { //Aqui ficava o nScreenWidth, dae eu coloquei o valor do tamanho do menu sem a repeticao, ou seja, se no menu você tem 40 imagens, você naum vai pegar o tamanho das 80, que eh a repeticao, e sim somente o tamanho das 40 original . Deu pra entender?

this._x = 0;

}

}

function moveRight(nPixels) {

this._x += nPixels;

if (this._x > 0) {

this._x = 0-3355; //Aqui tambem tah? http://forum.imasters.com.br/public/style_emoticons/default/shifty.gif

}

}

}

onClipEvent(enterFrame) {

// move slider with speed dependent on mouse position

if (_root._xmouse < nScreenWidth/2 && _root._xmouse > 0) {

moveRight(nMaxRate - _root._xmouse * nMaxRate/(nScreenWidth/2));

} else {

if (_root._xmouse > nScreenWidth/2 && _root._xmouse < nScreenWidth) {

moveLeft(_root._xmouse * nMaxRate/(nScreenWidth/2) - nMaxRate);

}

}

}

/CODE

 

Problema solucionado, obrigado a Antoniosp pela sua atencao e quem mais se envolveu nesse caso http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Pra quem ainda tiver duvida o fla ta no topico pra consulta.

 

Flw :rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

O meu deu certo agora só.

Vejam como ficou:

 

onClipEvent (load) {	nScreenHeight = 300;	nMaxRate = 3;	// nPixels determina a velocidade do movimento	function moveUp(nPixels) {		this._y -= nPixels;		if (this._y < 0 - 1110) {			this._y = 550;		}	}	function moveDown(nPixels) {		this._y += nPixels;		if (this._y > 550) {			this._y = 0 - 1110;		}	}}onClipEvent (enterFrame) {	// movimento dependendo da posição do mouse	if (_root._ymouse < nScreenHeight / 2 && _root._ymouse > 0) {		moveDown(nMaxRate - _root._ymouse * nMaxRate / (nScreenHeight / 2));	} else if (_root._ymouse > nScreenHeight / 2 && _root._ymouse < nScreenHeight) {		moveUp(_root._ymouse * nMaxRate / (nScreenHeight / 2) - nMaxRate);	}}

Obrigado a todos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz... Outra dúvida!!! hauhauhau!!!E se agora eu quiser alterar o movimento dependendo da posiçaõ do mouse, no caso eu quero q quando o mouse estiver para cima o movie corra para baixo, e se o mouse estiver p/ cima o movie corra p/ baixo![]´s!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só ajeitar os valores que fariam o loop:

 

onClipEvent (load) {	nScreenHeight = 300;	nMaxRate = 3;	// nPixels determina a velocidade do movimento	function moveUp(nPixels) {		this._y -= nPixels;		if (this._y < 0 - 1110) {			this._y = -1110;//aqui		}	}	function moveDown(nPixels) {		this._y += nPixels;		if (this._y > 550) {			this._y = 550;//e aqui		}	}}onClipEvent (enterFrame) {	// movimento dependendo da posição do mouse	if (_root._ymouse < nScreenHeight / 2 && _root._ymouse > 0) {		moveDown(nMaxRate - _root._ymouse * nMaxRate / (nScreenHeight / 2));	} else if (_root._ymouse > nScreenHeight / 2 && _root._ymouse < nScreenHeight) {		moveUp(_root._ymouse * nMaxRate / (nScreenHeight / 2) - nMaxRate);	}}

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antônio,

 

muito obrigado!

Achei um outro código q tb ajuda nesse caso, o unico problema é no teste elefuncionou direitinho, mas qndo joguei eleno site não consegui centralizar a posiçãodo mouse em relação ao movimento.

 

Diferente do código anterior que a ação é colocada no mc, nesse a ação é colocada em um frame. Os mc's mascara e menú são reonhecidos por suas instâncias:

Stage.scaleMode = "noScale"Stage.showMenu = falseminimo = -1700maximo = 2335setInterval(function(){					 if(mask.hitTest(_root._xmouse, _root._ymouse, false)){					 	if(menu1._y>=minimo && menu1._x<=maximo){							 menu1._y -= (_root._ymouse-(600/3))*0.05							 if(menu1._y<minimo){							 	menu1._y = minimo							 }else if(menu1._y>maximo){							 	menu1._y = maximo							}						 }						 }					 },20)

Mais uma vez, muito obrigado Antônio!

Agora ninguem tem mais do que reclamar sobre deslizamento na vertical, construimos um bom conteúdo!!! hauhauhau!!!

 

[]´s

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.