Ir para conteúdo

POWERED BY:

Arquivado

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

ripjoe

Substituir scroll horizontal do navegador

Recommended Posts

Olá a todos

 

Estou começando um projeto em que pretendo fazer a página na horizontal.

 

Pesquisando na net, descobri que é possível simular o scroll do navegador no flash.

 

Consegui um script muito bom, que vocês podem baixar pelo link

http://www.after-hours.org/wp-content/plug...croll_files.zip

 

 

No entanto, o script em questão é para o scroll vertical.

Não estou conseguindo adapta-lo para o uso na horizontal.

 

 

Gostaria de pedir a ajuda dos amigos sobre quais modificações devem ser feitas.

 

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, primeiro.. evite flood, é contra as regras do fórum.

 

Dei uma mechida no código.

Substitui esse código, pelo que está no frame responsável pelo scrool:

 

#include "mc_tween2.as"
stop ();
// --
var izq;
var sup;
var der;
var inf;
var porcentaje;
var x;
var scrollBar_mc = scrollBar_mc;
var drag_mc = scrollBar_mc.drag_mc;
var bar_mc = scrollBar_mc.bar_mc;
// --
function drag () {
	if (drag_mc._x > Stage.width / 2) {
		porcentaje = Math.round (((drag_mc._x + drag_mc._width) / Stage.width) * 100);
	} else {
		porcentaje = Math.round ((drag_mc._x / Stage.width) * 100);
	}
	x = Math.round ((porcentaje / 100) * (holder_mc._width - Stage.width));
	holder_mc.xSlideTo (-x, 2, "easeOutQuart");
	updateAfterEvent ();
}
// --
function stageResize () {
	bar_mc._y = drag_mc._y = Stage.height - bar_mc._height;
	bar_mc._width = Stage.width;
	drag_mc._width = (Stage.width / 100) * 25;
	izq = Stage.height - drag_mc._height;
	sup = 0;
	der = Stage.height - drag_mc._height;
	inf = Stage.width - (drag_mc._width);
	holder_mc._y = (Stage.height - holder_mc._height) / 2;
	// -- 
	if (holder_mc._width < Stage.width) {
		scrollBar_mc._visible = false;
	} else {
		scrollBar_mc._visible = true;
	}
}
// -- 
myListener = new Object ();
myListener.onResize = stageResize;
Stage.addListener (myListener);
// --
stageResize ();
// --
drag_mc.onRollOver = function () {
	this.colorTransformTo (-100, 256, -100, 256, -100, 256, 100, 0, 0.2, "linear");
};
drag_mc.onRollOut = function () {
	this.colorTransformTo (100, 0, 100, 0, 100, 0, 100, 0, 0.2, "linear");
};
// --
drag_mc.onPress = function () {
	idInterval = setInterval (drag, 1);
	this.startDrag (false, izq, sup, der, inf);
};
drag_mc.onRelease = drag_mc.onReleaseOutside = function () {
	clearInterval (idInterval);
	stopDrag ();
};
//--
mouseListener = new Object ();
mouseListener.onMouseWheel = function (delta) {
	if (!scrollBar_mc._visible) {
		return;
	}
	if (drag_mc._x <= sup && delta > 0 || drag_mc._x >= inf && delta < 0) {
		return;
	} else {
		drag_mc._x -= delta * 10;
		drag ();
	}
};
Mouse.addListener (mouseListener);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, desculpe, é que as mensagens são muitas e rapidamente os posts somem da primeira página.

 

Amigo, essa alteração funcionou contigo?

 

Áqui não funciona essa inversão das variaveis, o scroll aparece em baixo porém não funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui funcionou.. só ficou meio grandinho. mas tá rolando normal.. você substituiu todo o codigo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, substitui tudo

mas o drag do mouse continua possivel apenas pra vertical, e mesmo assim sem funcionar =/

 

 

testei no MX e no CS3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah sim.. eu não vi o esquema do drag..rssrs

Vou dar uma olhada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dei um olhada aqui amigo.

O problema estava que não adaptei a área do drag...srsrs.

Utilize este código:

 

 

#include "mc_tween2.as"
stop ();
// --
var izq;
var sup;
var der;
var inf;
var porcentaje;
var x;
var scrollBar_mc = scrollBar_mc;
var drag_mc = scrollBar_mc.drag_mc;
var bar_mc = scrollBar_mc.bar_mc;
// --
function drag () {
	if (drag_mc._x > Stage.width / 2) {
		porcentaje = Math.round (((drag_mc._x + drag_mc._width) / Stage.width) * 100);
	} else {
		porcentaje = Math.round ((drag_mc._x / Stage.width) * 100);
	}
	x = Math.round ((porcentaje / 100) * (holder_mc._width - Stage.width));
	holder_mc.xSlideTo (-x, 2, "easeOutQuart");
	updateAfterEvent ();
}
// --
function stageResize () {
	bar_mc._y = drag_mc._y = Stage.height - bar_mc._height;
	bar_mc._width = Stage.width;
	drag_mc._width = (Stage.width / 100) * 25;
	izq = 0;
	sup = Stage.height - (drag_mc._height);;
	der = Stage.width-drag_mc._width;
	inf = Stage.height - (drag_mc._height);
	holder_mc._y = (Stage.height - holder_mc._height) / 2;
	// -- 
	if (holder_mc._width < Stage.width) {
		scrollBar_mc._visible = false;
	} else {
		scrollBar_mc._visible = true;
	}
}
// -- 
myListener = new Object ();
myListener.onResize = stageResize;
Stage.addListener (myListener);
// --
stageResize ();
// --
drag_mc.onRollOver = function () {
	this.colorTransformTo (-100, 256, -100, 256, -100, 256, 100, 0, 0.2, "linear");
};
drag_mc.onRollOut = function () {
	this.colorTransformTo (100, 0, 100, 0, 100, 0, 100, 0, 0.2, "linear");
};
// --
drag_mc.onPress = function () {
	idInterval = setInterval (drag, 1);
	this.startDrag (false, izq, sup, der, inf);
};
drag_mc.onRelease = drag_mc.onReleaseOutside = function () {
	clearInterval (idInterval);
	stopDrag ();
};
//--
mouseListener = new Object ();
mouseListener.onMouseWheel = function (delta) {
	if (!scrollBar_mc._visible) {
		return;
	}
	if (drag_mc._x <= sup && delta > 0 || drag_mc._x >= inf && delta < 0) {
		return;
	} else {
		drag_mc._x -= delta * 10;
		drag ();
	}
};
Mouse.addListener (mouseListener);

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.