En esta ocasión (ver PicLens en Flash con Papervision3D 2.0 ) clave pública ( PicLens.as ), tuve que revisar algunas partes del código, se alinean con la última versión de Papervision3D 2.0 Great White y he hecho algunos ajustes y adiciones. He incluido en este demo también una serie de perilla, perillas, a cambio de ciertos parámetros de tiempo de ejecución.
Simulación de movimiento PicLens
Para llegar lo más cerca posible al movimiento horizontal de PicLens original, he usado un truco poco a la inserción de un "no visible" DisplayObject3D objetivo de la habitación:
1 2 3 | ; __fooTarget = new DisplayObject3D (); ... target = __fooTarget ; .. __bv cameraAsCamera3D __fooTarget target =; |
En la práctica, la cámara siempre apunta a la DisplayObject3D Galería de imágenes detrás de la serie. Cuando la cámara se mueve (con un movimiento acelerado / inercia) también DisplayObject3D sigue, pero con un ligero retraso. Esto me permitió hacer el efecto del movimiento de la suave y muy similar a la realizada en el PicLens original:
1 2 | x + = ( ( __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.; |
No he usado ninguna Tween, sino una función más simple y potente:
1 | posición + = ((posizionefinale posición -) / aceleración) / de inercia; |
En la demostración se puede cambiar algunos parámetros: enfoque, el zoom y objetivo. Esta es la posición de la DisplayObject3D de 99 imágenes! Al cambiar esta posición, usted se dará cuenta de los cambios en el movimiento de toda la escena.
Enfoque y el zoom son las propiedades de entorno Papervision3D.
Interacción
Intente hacer clic en las imágenes ... ![]()












Proyecto: Het groente en la fruta de laboratorio ...
Louis Bonduelle Fundación wurde für die ein auf der Basis von kindgerechtes Informationsportal Flash produziert. Aufgabe guerra es, den Kindern Vorteile und die geheimen Superkräfte von und zu Früchten bringen Gemüse spielerisch Naher. Zusamme ...
Hola He probado el ejemplo de la PicLens estilo de galería y debo decir que me encantó, sus niveles no son todavía, pero estoy estudiando varios días y me golpe la cabeza en la forma de pasar un filtro a una sola img.
Se coloca un pedazo de mi código para explicar mejor
DELI EN CICLO DE DONDE USTED TIENE LA RED DE INSERTAR IMG:
y luego crear la siguiente función
2
3
4
e . displayObject3D , 'z' , Strong . easeOut , e . displayObject3D . z , - 10 , 1 , true ) ; nueva Tween (and. displayObject3D, 'z', easeOut fuerte, y displayObject3D z, - 10, 1, es verdad...);
filters = [ new GlowFilter ( 0xffffff , 0.60 , 10 , 10 , 2 , 1 ) ] ; .. y sprites filtros = [nuevo GlowFilter (0xffffff, 0,60, 10, 10, 2, 1)];
}
De esta manera, me gustaría el vuelco del vehículo las luces ... solo IMG.
sólo para que el filtro se asigna a todos, pero si pongo img
e.displayObject3Dme de errorun ejemplo de mirar a su alrededor me encontré con que utiliza Papervision
InteractiveSceneManagerpara asignar un filtro a un evento que sabemos ... Más me aconsejara sobre cómo instalarlo en tu ejemplo?ya que sigue dándome el error?
Muchas gracias
@ MairoN001: Usted hizo todo bien! Sólo tiene que añadir una línea al crear objetos. aggiungi: En la práctica, cuando el objeto temporal inicializado
photo1, en el circuito de la creación, antes deaddEventLister()añade:photo1.useOwnContainer = true;En el caso de
fnc_ObjRlOverusar algo como:e.displayObject3D.filters = [nuevo GlowFilter (0xffffff, 0.6, 10,10,2,1)];y todo va a funcionar!
Muchas gracias por la respuesta que funciona a la perfección sólo con "useOwnContainer"
Haga clic se desactiva.
He visto que funciona en torno a r577, pero no en el 578 +
El lanzamiento que uso es la gran novena Blanca el 9 de septiembre de 2008.
Voy a ver si puedo encontrar una solución al documento, mientras tanto, yo estaría muy agradecido si pudiera usted decirme más acerca de ella.
De todos modos gracias de nuevo por la respuesta.
Ok he encontrado una solución ahora funciona la mitad de los click, pero no el doble clic =)
el lugar de mi solución temporal por lo que si debe ser útil para leer qualkun'altro seguridad.
Por lo que he visto alrededor de Papervision para aplicar filtros a los primitivos deben utilizar las capas de la vista. Tal vez poner el código más fácil de entender
EL PAQUETE:
org.papervision3d.view.layer.ViewportLayer importaciones;En clase:
var capa privado: ViewportLayer;LA FUNCIÓN:
initObjects2
3
4
addChild ( photo1 ) ; . __BasicVw Escenas AddChild (foto1).;
getChildLayer ( photo1 , true ) ; .. capa = __BasicVw vista getChildLayer (foto1, true);
( InteractiveScene3DEvent . OBJECT_OVER , fnc_ObjRlOver ) foto1. addEventListener (InteractiveScene3DEvent. OBJECT_OVER, fnc_ObjRlOver)
LA FUNCIÓN:
fnc_ObjRlOverEspero que este código puede ser útil para otras beneficio del lugar en el que perdió tres días para encontrar la manera de poner un filtro en un avión en PVS3D con esta solución funciona, pero no el doble clic en el tratar de entender por qué y si descubro el lugar ... gracias una y otra vez por el consejo, sin ese incentivo quién sabe cuánto tiempo he perdido otra vez XD
@ MairoN001: informes excelentes! Vamos a ver qué sale
Usted todavía tiene la última versión de Papervision3D? ¿Por qué ha lanzado oficialmente la versión 2.0, de sacarlo de la rama beta.
Tortuga y el uso de todos los días a lo largo de riuppo
@ MairoN001: perfecto! Era justo lo que quería saber! También utilizo Tortoise SVN
y antes de comenzar a desarrollar un buen "Actualizar" 
Debo decir que la tortuga es un software muy útil y sé que para un par de días te tortura con preguntas relacionadas a la galería =)
Continúe el análisis de la galería no pude dejar de notar que en el ciclo de arranque en la Img 4 .. Creo que es debido a qualke bucle interno de Papervision3D, ¿no? ¿podría decirme por qué?
Grosor de u
@ MairoN001: el lugar exacto que lo vio Haga clic en Enviar
forpartir de 4?Función:
initObjectciclo:
for (var i = 0; i <__thnumber; i + +)el ciclo se mueve sobre una base regular, pero los planes comienzan con "ID 4" en lugar de "0"
Me di cuenta de esto por una huella
trace ("plano ID =" + __bv.scene.getChildByName (String (i)))Después de la foto asignada a los planes de
los primeros 4 son nulos o_0 rastro "
Otro consejo para aquellos que siempre quiso trabajar en la galería siguiendo el ejemplo de PicLens:
en el momento en que haga clik en la foto se ampliará la img, pero si hubiera sido hace clic en otro no seleccionados deben volver a su posición original, a fin de ver más y más grandes sólo se ha seleccionado, a partir de ahora yo tenía un problema qualke lo he comprobado y estudiado la manera de crear su avión y puesto a disposición de recrear las fotos de ida y vuelta gioketto tuve que crear un par de clics de escucha en el archivo adjunto, como se muestra:
FUNCIÓN
initObject:FUNCIÓN:
fnc_ObjClk2
3
4
5
6
7
8
9
10
11
12
Number = 0 ; var k: Número = 0;
4 ; // HACK PER PLANE SU PV3D CHE PARTONO DA 4 allThb THUMBNAIL_NUMBER var = + 4 / / HACK PARA AVION EN PV3D a partir de 4
k= 4 ; k & lt ; allThb ; k ++ ) // IN QUESTO MODO I PRIMI 4 VUOTI LI SALTA for (k = 4, k & lt; allThb k + +) / / De esta manera en los primeros 4 EMPTY omitirlas
{
obj_select ! = k ) if (obj_select! = k)
{
Plane = __bv . scene . getChildByName ( String ( k ) ) as Plane ; . Cualquier var: = plano __bv escenas getChildByName (. cuerdas (k)) como avión;
Any , 'z' , Strong . easeOut , Any . z , 0 , 1 , true ) ; nueva Tween (Any, 'z', Fuerte easeOut, cualquier z, 0, 1, es verdad..);
}
}
Espero que pueda ser útil =)
@ MairoN001: Con respecto al ciclo se debe a niveles más profundos asociados con Papervision, nada relevante hasta el final de la operación del código
PicLens [...] en Flash con Papervision3D 2.0: Parte II http://www.undolog.com/2008/06/17/piclens-in-flash-con-papervision3d-20-parte-ii/ [... ]