Jump to content


Photo

Condição Para Scroll


  • Faça o login para participar
2 replies to this topic

#1 andreacerqueira

andreacerqueira

    Normal

  • Usuários
  • 115 posts
  • Sexo:Não informado

Posted 01/02/2008, 13:15

tem alguma coisa bem idiota acontecendo e eu não sei resolver :)
to usando o codigo abaixo pra fazer um scroll simples das fotos da minha galeria, ele funciona perfeitamente, o problema é que resolvi colocar uma condição na parada pois se ele for menor que o palco não existe necessidade do scroll, mas ao colocar o if para de funcionar.

se eu deixo o meu codigo assim funciona:
botaoThumbsMc.onRollOver = painelOverDown;
var mascaraThumbsProp = mascaraThumbs.getBounds(_root);
function scrollPanel() {
	if(_xmouse <= mascaraThumbsProp.xMin || _xmouse >= mascaraThumbsProp.xMax || _ymouse < mascaraThumbsProp.yMin || _ymouse > mascaraThumbsProp.yMax) {
		this.onRollOver = painelOverDown;
		delete this.onEnterFrame;
	}
	if(botaoThumbsMc._x >= 0) {
		this._x = 0;
	}
	if(botaoThumbsMc._x <= -(botaoThumbsMc._width - mascaraThumbs._width)) {
		this._x = -(widthThumbs - mascaraThumbs._width);
	}
	var xDistancia = _xmouse - 300;
	botaoThumbsMc._x += Math.round(-xDistancia / 10);
}
function painelOverDown() {
	this.onEnterFrame = scrollPanel;
	delete this.onRollOver;
}

se eu deixo assim não funciona:
if(widthThumbs >= 600) {
	botaoThumbsMc.onRollOver = painelOverDown;
	var mascaraThumbsProp = mascaraThumbs.getBounds(_root);
	function scrollPanel() {
		if(_xmouse <= mascaraThumbsProp.xMin || _xmouse >= mascaraThumbsProp.xMax || _ymouse < mascaraThumbsProp.yMin || _ymouse > mascaraThumbsProp.yMax) {
			this.onRollOver = painelOverDown;
			delete this.onEnterFrame;
		}
		if(botaoThumbsMc._x >= 0) {
			this._x = 0;
		}
		if(botaoThumbsMc._x <= -(botaoThumbsMc._width - mascaraThumbs._width)) {
			this._x = -(widthThumbs - mascaraThumbs._width);
		}
		var xDistancia = _xmouse - 300;
		botaoThumbsMc._x += Math.round(-xDistancia / 10);
	}
	function painelOverDown() {
		this.onEnterFrame = scrollPanel;
		delete this.onRollOver;
	}
}

alguém pode me ajudar? ::)

#2 Pedropauloalmeida

Pedropauloalmeida

    Fale ao motorista somente o indispensável

  • Usuários
  • 1376 posts
  • Sexo:Masculino
  • Localidade:Santo André SP

Posted 01/02/2008, 13:28

Bom.

Onde vc está declarando o valor de widthThumbs ?
Já tentou dar um trace dessa variável pra saber se está tudo ok com ela?

Veja se isso resolve. Se não, teremos que mexer no seu código pra deixar ele um pouco melhor. Tá com uma lógica de eventos terrivelmente estruturada.

Abraços

pp

#3 andreacerqueira

andreacerqueira

    Normal

  • Usuários
  • 115 posts
  • Sexo:Não informado

Posted 01/02/2008, 13:33

resolvido :)

var widthThumbs:Number = new Number;
widthThumbs = totalFotos * 50; // multiplica pelo tamanho dela pra pegar o total de todas as thumbs
botaoThumbsMc._x = (Stage.width - widthThumbs) / 2; // centraliza as thumbs no palco
	_root.botaoThumbsMc.onRollOver = painelOverDown;
	var mascaraThumbsProp = mascaraThumbs.getBounds(_root);
	function scrollPanel() {
		if(_xmouse <= mascaraThumbsProp.xMin || _xmouse >= mascaraThumbsProp.xMax || _ymouse < mascaraThumbsProp.yMin || _ymouse > mascaraThumbsProp.yMax) {
			this.onRollOver = painelOverDown;
			delete this.onEnterFrame;
		}
		if(botaoThumbsMc._x >= 0) {
			this._x = 0;
		}
		if(botaoThumbsMc._x <= -(botaoThumbsMc._width - mascaraThumbs._width)) {
			this._x = -(widthThumbs - mascaraThumbs._width);
		}
		var xDistancia = _xmouse - 300;
		botaoThumbsMc._x += Math.round(-xDistancia / 10);
	}
	function painelOverDown() {
		if(widthThumbs > 600) {
			this.onEnterFrame = scrollPanel;
			delete this.onRollOver;
		}
	}

a condição só deve aparecer quando for chamar o scrollPanel

Edição feita por: andreacerqueira, 01/02/2008, 15:08.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq