Ir para conteúdo

POWERED BY:

Arquivado

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

THCB

Alguém sabe me dizer o que essa linha faz?

Recommended Posts

Alguém sabe me dizer o que essa linha faz?

 

var movimento:Tween = new Tween(alvo, "_y", Back.easeOut, alvo._y, sy-(p*s), 2, true);

Eu estou fazendo um scroll e ele está com muito movimento pro meu gosto. Muito tween. Quero um tween pra não ficar seco mas está muito. Quando eu altero os valores dessa linha ele muda, mas eu não entendo nada o que é o que nessa linha. Alguem sabe?

 

O código inteiro do scroll que eu peguei na net, nao sei aonde está aqui:

import mx.transitions.Tween;
import mx.transitions.easing.*;
var mouseListener:Object = new Object();
// coloca no tamanho normal
_xscale = _yscale=100;
// pode ser um movieclip ou um textfield
//aqui mostra qual movieclip ira mexer
var alvo = _parent.materiaCompleta;
// posição inicial do movieclip em y
var sy:Number = alvo._y;
// altera o tamanho da barra
scrollbar2 = track_height;

//poe o pan junto com o track
pan._x = track._x=btn_cima._x=btn_baixo._x;
// tira a maozinha dos botões
btn_baixo.useHandCursor = btn_cima.useHandCursor=pan.useHandCursor=track.useHandCursor=false;

// mínimo em _y q o pan pode ir
var miny:Number = Math.round(track._y);
// máximo em _y q o pan pode ir
var maxy:Number = Math.round(track._y+track._height-pan._height);

// quando o cara pressionar o botão de cima
btn_cima.onPress = function() {
	_global.parar = 0;
	mover();
	subindo = true;
	descendo = false;
};
// quando tirar o mouse
btn_cima.onRelease = btn_cima.onReleaseOutside=function () {
	subindo = descendo=false;
	delete _parent.onEnterFrame;
};
// quando o cara pressionar o botão de baixo
btn_baixo.onPress = function() {
	_global.parar = 0;
	mover();
	subindo = false;
	descendo = true;
};
// quando tirar o mouse
btn_baixo.onRelease = btn_baixo.onReleaseOutside=function () {
	subindo = descendo=false;
	delete _parent.onEnterFrame;
};

// quando pressionar o pan
pan.onPress = function() {
	// inicia o arrastamento
	startDrag(this, false, this._x, miny, this._x, maxy);
	_global.parar = 0;
	mover();
};

// quando soltar o mouse
pan.onRelease = pan.onReleaseOutside=function () {
	// para o arrastamento
	stopDrag();
	delete _parent.onEnterFrame;
};

track.onPress = function() {
	/* Chamamos a função mover */
	_global.parar = 0;
	mover();
	/* Move o pan */
	pan._y = _ymouse-pan._height/2;
	/* Se o pan passar do valor máximo volta para o máximo */
	if (pan._y>=maxy) {
		pan._y = maxy;
	}
	/* Se o pan passar do valor mínimo volta para o mínimo */ 
	if (pan._y<=miny) {
		pan._y = miny;
	}
};

/* Ao girar da bolinha do Mouse */
mouseListener.onMouseWheel = function(delta) {
	/* Verificamos se o Mouse está em cima das frases ou do ScrollBar */
	if (_parent.mascara.hitTest(_parent._xmouse, _parent._ymouse) || _parent.scrollBar.hitTest(_parent._xmouse, _parent._ymouse)) {
		/* Chamamos a função mover */
		_global.parar = 0;
		mover();
		/* Se delta for igual a 3 sobe, senão desce*/
		if (delta == 3) {
			/* Se não estiver a ponto de ir além do que pode */
			if (pan._y-1>miny) {
				pan._y -= 50;
			} else {
				pan._y = miny;
				/* Deletamos o onEnterFrame */
				delete _parent.onEnterFrame;
			}
		} else {
			/* Se não estiver a ponto de ir além do que pode */
			if (pan._y+1<maxy) {
				pan._y += 50;
			} else {
				pan._y = maxy;
				/* Deletamos o onEnterFrame */
				delete _parent.onEnterFrame;
			}
		}
	}
};
/* Função mover */
function mover() {
	/* Cria o onEnterFrame */
	_parent.onEnterFrame = function() {
		/* Se estiver subindo */
		if (subindo) {
			/* Se não estiver a ponto de ir além do que pode */
			if (pan._y-1>miny) {
				pan._y -= 5;
			} else {
				pan._y = miny;
				/* Deletamos o onEnterFrame */
				delete _parent.onEnterFrame;
			}
		}
		/* Se estiver descendo */ 
		if (descendo) {
			/* Se não estiver a ponto de ir além do que pode */
			if (pan._y+1<maxy) {
				pan._y += 5;
			} else {
				pan._y = maxy;
				/* Deletamos o onEnterFrame */
				delete _parent.onEnterFrame;

			}
		}
		/* Calcula */ 
		var s:Number = ((pan._y-miny)/(maxy-miny))*100;
		var p:Number = (alvo._height-mascara)/95;
		if (_global.parar == 1) {
			_parent.materiaCompleta._y = 350;
		}
		/* Movemos o alvo */ 

		var movimento:Tween = new Tween(alvo, "_y", Back.easeOut, alvo._y, sy-(p*s), 2, true);
	};
}
/* Adicionamos o listener ao Mouse */
Mouse.addListener(mouseListener);

Compartilhar este post


Link para o post
Compartilhar em outros sites

A linha em questao movimenta o mc chamado alvo, em funcao de y, comeca de onde o movieclip esta e vai ate o resultado do calculo de sy-(p*s), em 2 segundos usando um tween do tipo Back.easeOut.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um dos parâmetros é o tempo, basta reduzir.

 

Além da 'Back.easeOut' existem outras opções (easing), teste a que mais lhe agrada.

 

 

Abs

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.