PicLens em Flash com Papervision3D 2.0: Parte II
Terça-feira, 17 de junho de 2008Este tempo (veja ao Flash com o PicLens Papervision3D 2,0) público código (PicLens.as), tive que rever algumas partes do código, assim, alinhar os últimos lançamentos da Papervision3D 2,0 Great White e fiz algumas adaptações e acréscimos. Eu entrou nesta demo também uma série de Botão, puxadores, runtime para alterar alguns parâmetros.
Simulação do movimento PicLens
Para mais perto possível do movimento horizontal do PicLens original, eu usei um pequeno passo, incluindo uma "invisível" DisplayObject3D meta para a sala:
- ; __fooTarget = new DisplayObject3D ();
- ...
- = __fooTarget; __bv. cameraAsCamera3D. __fooTarget = alvo;
Na prática semper ponta da sala DisplayObject3D lugar por trás da série de immmagini. Quando a câmera se desloca (com um movimento acelerado / por inércia) também DisplayObject3D o seguinte, mas com um ligeiro atraso. Isto permitiu-me fazer o efeito de movimento suave e muito semelhante ao alcançado no PicLens original:
- += ( ( __slider. Value - __bv. cameraAsCamera3D . x ) / 10 ) / 2 . 2 ; __bv. cameraAsCamera3D. x + = ((Valor __slider. - __bv. cameraAsCamera3D. x) / 10) / 2. 2;
- __slider. Value - __fooTarget. x ) / 5 ) / 2 . 2 ; __fooTarget. x + = ((Valor __slider. - __fooTarget. x) / 5) / 2. 2;
Eu nunca usei nenhuma Tween, mas uma função mais simples e eficiente:
- /accelerazione ) /inerzia; Posição + = ((posizionefinale - posição) / aceleração) / inércia;
No demo é possível alterar alguns parâmetros: incidência, zoom e metas. Esta é a posição do DisplayObject3D comparado a 99 fotos! Ao alterar esta posição, você irá notar alterações no movimento da cena.
Foco e zoom são propriedade do Papervision3D.
Interação
Basta clicar sobre as fotos ... ![]()























Oliver Semrau disse:
Projekt: Het groente en frutas laboratório ...
Für die Fondation Louis Bonduelle kindgerechtes Informationsportal wurde ein auf der Basis von Adobe Flash produziert. Aufgabe guerra es, den Kindern und die Vorteile von geheimen Superkräfte Früchten spielerisch näher Gemüse und zu bringen. Zusamme ...
MairoN001 disse:
Olá, tenho analisado o exemplo do seu estilo galeria PicLens e devo dizer que gostei muito, nem mesmo ao seu nível, mas eu estou estudando vários dias e Bati com a cabeça sobre a maneira de passar um filtro para uma única img.
Você colocar um pedaço do meu código para explicar melhor
Interior estádio delicatessen onde têm a grade com a IMG post:
photo1.addEventListener (InteractiveScene3DEvent.OBJECT_OVER, fnc_ObjRlOver)e então eu criei a seguinte função
Desta forma, gostaria de capotamento do indivíduo IMG luzes ....
Só para que o filtro é atribuído a todas as img, mas se eu colocar
e.displayObject3Dpor enganoOlhando em redor um exemplo que eu encontrei Papervision usa
InteractiveSceneManagerpara atribuir um filtro para um evento livrar dos ratos ... Over sobre como definir isso no seu exemplo?enquanto eu continuar a dar errado?
Muito obrigado
Giovambattista Fazioli disse:
@ MairoN001: Você foi tão bom! Você simplesmente adicionar uma linha quando você criar objetos. Na prática, quando o objeto inicializa temporária
photo1no ciclo de criação, antesaddEventLister()acrescentar:photo1.useOwnContainer = true;No
fnc_ObjRlOverutilizar em vez disso:e.displayObject3D.filters = [novo GlowFilter (0xffffff, 0,6, 10,10,2,1)];e tudo funcionará!
MairoN001 disse:
Muito obrigado pela sua resposta é multa exceto que entram "useOwnContainer"
Clique na constitui deficiência.
Eu vi o trabalho em torno r577, mas não a 578 +
A versão que eu uso é o Great White 09 de 9 de setembro, 2008.
claro a partir de documentos, quando eu encontrar uma solução, entretanto, ser-lhe-á grata se sapresti dizer-me algo mais sobre ele.
De qualquer forma, obrigado novamente por sua resposta.
MairoN001 disse:
Ok eu tenho uma meia solução agora encontrada não clique, mas o Double Click =)
colocar minha solução temporária, por isso ele pode ser útil para qualkun'altro fácil leitura.
Pelo que eu vi em torno papervision para aplicar filtros para as primitivas devem usar o viewport camadas. Coloque o código é talvez mais fácil de entender
A EMBALAGEM:
org.papervision3d.view.layer.ViewportLayer importação;DE AULAS:
var camada privado: ViewportLayer;A FUNÇÃO:
initObjectsA FUNÇÃO:
fnc_ObjRlOvere.displayObject3D.container.filters = [novo GlowFilter (0xffffff, 0,60, 10,10,2,1)];Espero que este código pode ser útil para outras animar o lugar que eu perdi 3 dias para saber como colocar um filtro em um avião em PVS3D esta solução funciona com o clique duplo, mas não tente entender o porquê e se eu descobrir o local ... Para tempo graças ao município sem o incentivo quem sabe quanto tempo eu teria perdido ainda XD
Giovambattista Fazioli disse:
@ MairoN001: excelente relato! Vamos ver o que sai
Você ainda tem instalada a versão mais recente do Papervision3D? Porque têm lançado oficialmente o 2.0, remover a versão beta do ramo.
MairoN001 disse:
Cágado e usar todos os dias todos riuppo
Giovambattista Fazioli disse:
@ MairoN001: perfeito! Foi exatamente o que eu queria saber! Eu também uso Tortoise SVN
e antes de começar a desenvolver um bom "Update" 
MairoN001 disse:
Devo dizer que a tartaruga é um software muito útil e sei que para um par de dias que você torturero de questões relacionadas com a galeria =)
Ao continuar a analisar a galeria eu não podia ajudar, mas note que partem em Img o ciclo 4 .. Penso que é devido ao ciclo qualke interno Papervision3D ou errado? sapresti me diga por quê?
THK u
Giovambattista Fazioli disse:
@ MairoN001: Onde exatamente você viu este cliclo
for4?MairoN001 disse:
Função:
initObjectciclo:
for (var i = 0; i <__thnumber; i + +)ciclo do produto, numa base regular, mas os planos começam com "ID4", em vez de "0"
Estou correndo em uma pista para este
trace ( "AVIÃO ID =" + __bv.scene.getChildByName (String (i)))Após a foto atribuída aos planos
as primeiras 4 faixas são nulos o_0 "
MairoN001 disse:
Outro conselho para aqueles que querem trabalhar sobre a galeria seguir o exemplo do PicLens:
Quando você clica em um img você ampliar as fotos, mas se tivesse sido anteriormente clicado em outro os que não são selecionados deverão regressar ao seu propósito original, de modo a vejam apenas os selecionados maiores, a partir de então tive problema qualke Eu chequei e para que estudou a forma de criar o avião ea disponibilizada, a fim de recriar a frente e para trás gioketto fotos, tive que criar um clique sobre o ouvinte como um exemplo:
FUNÇÃO
initObjecte.displayObject3D.addEventListener (InteractiveScene3DEvent.OBJECT_CLICK, fnc_ObjClk)FUNÇÃO:
fnc_ObjClkEspero que possa ser útil =)
Giovambattista Fazioli disse:
@ MairoN001: para o ciclo é devido a níveis profundos associados com Papervision, nada de relevante para o fim da operação código