Papervision3D: Bitmap Griff wie FIVe3D

Ausgehend von dem Beispiel in gezeigt FIVe3D: Bitmap zu behandeln , wollen wir mal sehen, wie man den gleichen Effekt mit erreichen Papervision3D 2,0 (Great White), sowie weiterhin den Betrieb der Beta-Version Great White zu analysieren.

Loading Flash ...


Der erste Unterschied bemerken wir in der Größe der erzeugten Film: 120K für Papervision gegen 80 von FIVe3D! Allerdings ist es mehr als verständlich! Mit Papervision 3D Rendering, machen wir real! Einfache, in diesem Beispiel, aber erweiterbar wird, im Gegensatz zu FIVe3D dass in der Praxis, endet seine Arbeit dort, wo wir aufgehört haben. Auch, wie man aus dem Code zu sehen, haben wir "importiert" Teile der Bibliothek sicherlich voluminöser als die der FIVe3D:

1
2
3
4
5
papervision3d . events . InteractiveScene3DEvent ; .. import org Papervision3D Veranstaltungen InteractiveScene3DEvent.;
papervision3d . materials .*; import org Papervision3D * Materialien...;
papervision3d . objects . DisplayObject3D ; .. import org Papervision3D Objekte DisplayObject3D.;
papervision3d . objects . primitives . Plane ; .. import org Papervision3D Objekte Primitive Ebene..;
papervision3d . view . BasicView ; .. import org Papervision3D Blick BasicView.;

Ich schlage vor, hier eine Dokumentenklasse PVBitmap , aber you name it, was du willst. In der Bibliothek der Film, den ich große PNG-Bild auf 256 × 256 Pixel, exportieren mit dem üblichen Namen myimage :

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

Source Document-Klasse

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 {
/ *
** @ Name: PVBitmap.as
** @ Beschreibung: Class-Projekt
** @ Author: undo = =
** @ Web: http://www.undolog.com
** @ Email: @ g.fazioli undolog.com
**
** @ Ver: 1.0
* /
.*; import flash.display .*;
.*; Import flash.events .*;

/ *
** Import Papervision3D 2,0
* /
papervision3d . events . InteractiveScene3DEvent ; .. import org Papervision3D Veranstaltungen InteractiveScene3DEvent.;
papervision3d . materials .*; import org Papervision3D * Materialien...;
papervision3d . objects . DisplayObject3D ; .. import org Papervision3D Objekte DisplayObject3D.;
papervision3d . objects . primitives . Plane ; .. import org Papervision3D Objekte Primitive Ebene..;
papervision3d . view . BasicView ; .. import org Papervision3D Blick BasicView.;

PVBitmap extends Sprite { PVBitmap öffentlichen Klasse erweitert Sprite {
/ / Pp3d
__bv : BasicView ; geschützt var __bv: BasicView;
__mat1 : BitmapMaterial ; geschützt var __mat1: BitmapMaterial;
__plane : Plane ; geschützt var __plane: Flugzeug;
/ *
** Constructor
* /
PVBitmap function () {
Event . ADDED_TO_STAGE , init ) ; addEventListener ( Ereignis . ADDED_TO_STAGE, init);
}
/ *
** Init ()
* /
init ( e : Event ) : void { protected function init (e: Event- ): void {
initPapervision ();
initMaterials ();
initObjects ();
initListeners ();
}

/ *
** InitPapervision ()
* /
initPapervision ( ) : void { protected function initPapervision (): void {
640 , 480 , false , true ) ; __bv BasicView = new (640, 480, false, true);
__bv ) ; addChild (__bv);
zoom = 15 ; . __bv Zimmer Zoom = 15.;
}

/ *
** InitMaterials ()
* /
initMaterials ( ) : void { protected function initMaterials (): void {
/ / Erstellen Sie das Bild mit dem Material in der Bibliothek mit den exportierten
/ / Name "myimage"
new myimage ( 256 , 256 ) , true ) ; __mat1 BitmapMaterial = new (neue myimage (256, 256), true);
; __mat1 glatt = true.;
; __mat1 doppelseitig = true.;
}

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

/ *
** InitListeners ()
* /
initListeners ( ) : void { protected function initListeners (): void {
Event . ENTER_FRAME , render ) ; addEventListener ( Ereignis . ENTER_FRAME, Putz);
}

/ *
** @ Prototype
* /
render ( e : Event ) : void { private function render (e: Event- ): void {
1 ) ; . __plane Gier (1);
; __bv singleRender ().;
}
}
}

, Scene3D , Camera3D e BasicRenderEngine . Beachten Sie die Verwendung des Objekts BasicView anstatt in der klassischen Viewport3D , Scene3D , Camera3D und BasicRenderEngine . Mit einem Schlag in der Tat, die Objektivität BasicView instanziiert alle anderen Elemente notwendig zu machen.

Im Gegensatz zu FIVe3D dann Papervision eplicita wollen, dass die Anforderung an eine Textur (Material) mit beidseitiger zu erstellen:

1
; __mat1 doppelseitig = true.;

Falls gesetzt, doubleSided zu falschen, in der Tat, während der Rotation der das verborgene Gesicht nicht vorgenommen werden.

Es gibt keine Kommentare für diesen Beitrag

Hinterlasse einen Kommentar

XHTML TAG PERMIT: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERTION CODE:
 <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 


Stoppen SOPA