Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá Pessoal,
estamos com uma idéia de fazer algo semelhante a isso:
http://demos.hellohikimori.com/diesel-otb-ironman/
Esse detalhe do moviento do mouse em parallax 3d com ease.
Tenho uma vaga ideia de que isso é feito com papervision. Alguem tem algum tutorial ou pelo menos sabe como eu posso encontrar alguma referencia para fazer isso?
Obrigado
abraço
Dae Bruno,
obridado pela resposta, realmente bem interessante.
Fiz o teste que voce comentou... coloquei mais 3 elementos e defini 3 posições em z diferentes. Porém não consegui perceber aquele efeito de movimento em profundidade. Pensei que para isso fossem usadas as cameras e quem se movia seria a camera, e não o objeto.
O que estou fazendo errado.
Defini as posições desta forma:
teste1.z = 100;
teste2.x = 250;
teste3.z = -250;
abraço
import flash.events.MouseEvent;
import flash.display.Sprite;
var container:Sprite = new Sprite();
container.x = stage.stageWidth / 2;
container.y = stage.stageHeight / 2;
addChild(container);
var teste1:Sprite = new Sprite();
teste1.graphics.beginFill(0, .5);
teste1.graphics.drawRect(-100, -100, 200, 200);
container.addChild(teste1);
var teste2:Sprite = new Sprite();
teste2.graphics.beginFill(0, .5);
teste2.graphics.drawRect(-100, -100, 200, 200);
teste2.x = -100;
teste2.z = 100;
container.addChild(teste2);
var teste3:Sprite = new Sprite();
teste3.graphics.beginFill(0, .5);
teste3.graphics.drawRect(-100, -100, 200, 200);
teste3.x = 100;
teste3.y = -50;
teste3.z = -100;
container.addChild(teste3);
stage.addEventListener(MouseEvent.MOUSE_MOVE, stageMouseMoveHandler)
function stageMouseMoveHandler(e:MouseEvent):void
{
container.rotationX = (stage.mouseY - stage.stageHeight / 2) / stage.stageHeight * 90;
container.rotationY = -(stage.mouseX - stage.stageWidth / 2) / stage.stageWidth * 90;
}
Você não precisa usar Papervison3D pra isso. A partir do Flash Player 10, o player incorpora, nativamente, suporte ao 3D. Isso não significa que o Papervision3D perdeu seu papel, pelo contrário, a biblioteca passou a utilizar desses recursos nativos. Para o seu caso, você não precisará de nada além de definir as coordenadas Z dos elementos visuais do seu filme e, então, rotacioná-los com as propriedades rotatetionX e rotatetionY.
stage.addEventListener(MouseEvent.MOUSE_MOVE, stageMouseMoveHandler)
function stageMouseMoveHandler(e:MouseEvent):void
{