Papervision3D: mapa de bits se manejan como FIVe3D

A partir del ejemplo mostrado en FIVe3D: tratar de mapa de bits , vamos a ver cómo lograr el mismo efecto usando Papervision3D 2.0 (Great White), así como seguir analizando el funcionamiento de este beta Blanco.

Cargando flash ...


La primera diferencia que observamos es en el tamaño de la película genera: 120K para Papervision en contra de 80 de FIVe3D! Sin embargo, es más que comprensible! Con la representación Papervision 3D, estamos haciendo de verdad! Simple, en este ejemplo, pero ampliable a voluntad, a diferencia de FIVe3D que en la práctica, termina su trabajo allí donde lo dejamos. Además, como se verá a partir del código, hemos "importado" partes de la biblioteca sin duda, más voluminosos que los de FIVe3D:

1
2
3
4
5
papervision3d . events . InteractiveScene3DEvent ; .. org importación Papervision3D eventos InteractiveScene3DEvent.;
papervision3d . materials .*; org importación Papervision3D * materiales...;
papervision3d . objects . DisplayObject3D ; .. org importación Papervision3D objetos DisplayObject3D.;
papervision3d . objects . primitives . Plane ; .. org importación Papervision3D objetos primitivos Plane..;
papervision3d . view . BasicView ; .. org importación Papervision3D ver BasicView.;

Propongo aquí una clase de documento PVBitmap , pero lo que sea lo que quiera. En la biblioteca de la película que mayor imagen PNG de 256 × 256 píxeles, la exportación con el nombre usual myimage :

1
new myimage ( 256 , 256 ) , true ) ; __mat1 BitmapMaterial = new (nuevo MyImage (256, 256), true);

Fuente de la clase de documento

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package {
/ *
** @ Nombre: PVBitmap.as
** @ Descripción: Proyecto de Clase
** @ Autor: deshacer = =
** @ Web: http://www.undolog.com
** @ E-mail: @ g.fazioli undolog.com
**
** @ Ver: 1.0
* /
.*; importación flash.display .*;
.*; flash.events importación .*;

/ *
** Importación Papervision3D 2.0
* /
papervision3d . events . InteractiveScene3DEvent ; .. org importación Papervision3D eventos InteractiveScene3DEvent.;
papervision3d . materials .*; org importación Papervision3D * materiales...;
papervision3d . objects . DisplayObject3D ; .. org importación Papervision3D objetos DisplayObject3D.;
papervision3d . objects . primitives . Plane ; .. org importación Papervision3D objetos primitivos Plane..;
papervision3d . view . BasicView ; .. org importación Papervision3D ver BasicView.;

PVBitmap extends Sprite { Public class PVBitmap extiende Sprite {
/ / Pp3d
__bv : BasicView ; protegidos var __bv: BasicView;
__mat1 : BitmapMaterial ; protegidos var __mat1: BitmapMaterial;
__plane : Plane ; __plane protegidos var: Plano;
/ *
** Constructor
* /
PVBitmap función () {
Event . ADDED_TO_STAGE , init ) ; addEventListener ( Evento . ADDED_TO_STAGE, init);
}
/ *
** Init ()
* /
init ( e : Event ) : void { función protegida init (e: Evento ): void {
initPapervision ();
initMaterials ();
initObjects ();
initListeners ();
}

/ *
InitPapervision ** ()
* /
initPapervision ( ) : void { función protegida initPapervision (): void {
640 , 480 , false , true ) ; __bv BasicView = new (640, 480, false, true);
__bv ) ; addChild (__bv);
zoom = 15 ; . __bv sala de zoom = 15.;
}

/ *
** InitMaterials ()
* /
initMaterials ( ) : void { protegidos initMaterials function (): void {
/ / Crear la imagen con el material en la biblioteca de exportación con la
/ / Nombre "MyImage"
new myimage ( 256 , 256 ) , true ) ; __mat1 BitmapMaterial = new (nuevo MyImage (256, 256), true);
; __mat1 suave = true.;
; __mat1 doble cara = true.;
}

/ *
** InitObjects ()
* /
initObjects ( ) : void { protegidos initObjects function (): void {
__mat1 ) ; __plane = new Plane (__mat1);
addChild ( __plane ) ; . __bv escenas addChild (__plane).;
}

/ *
** InitListeners ()
* /
initListeners ( ) : void { protegidos initListeners function (): void {
Event . ENTER_FRAME , render ) ; addEventListener ( Evento . ENTER_FRAME, render);
}

/ *
** @ Prototype
* /
render ( e : Event ) : void { hacer funciones privadas (e: Evento ): void {
1 ) ; . __plane guiñada (1);
; __bv singleRender ().;
}
}
}

, Scene3D , Camera3D e BasicRenderEngine . Observe el uso del objeto BasicView en lugar de la clásica Viewport3D , Scene3D , Camera3D y BasicRenderEngine . Con un solo golpe, de hecho, la objetividad BasicView instancia todos los demás elementos necesarios para hacer.

A diferencia de entonces FIVe3D Papervision eplicita quiere que la solicitud de crear una textura (o material) con dos caras:

1
; __mat1 doble cara = true.;

Si se establece doubleSided de falso, de hecho, durante la rotación de la cara oculta, no se hará.

No hay comentarios para esta entrada

Deja un comentario

XHTML PERMISO TAG: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> código de inserción:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Dejar de SOPA