FIVe3D: efeitos de um cubo! À espera de Flash 10

Muito provavelmente, quando sai a nova versão do Adobe Flash, bibliotecas 3D de "baixo nível", como FIVe3D vai acabar mal! No entanto, antes do "Trash", aqui está um exemplo do que pode ser alcançado (com a última versão 2.1):

Carregando flash ...

O código da demo acima é bastante articulada, para que eu não proponho inteiramente online. Inserção, no entanto, algumas peças interessantes de código.

Update: para a fonte clique aqui

Um recipiente 3D

A primeira coisa interessante é a capacidade de criar (como é o caso do Papervision3D e sob condições normais de funcionamento com o MovieClip no Flash) containers de objetos 3D. Para criar o cubo, na verdade, eu criei um objeto de recipiente __cube e, para esse eu adicionei as faces do cubo!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/ *
** @ Nome: initCube ()
* /
initCube ( ) : void { initCube função protegida (): void {
; __cube Sprite3D = new ();
; __cube rotationX = 40.;
40 ; . __cube rotationY = - 40;
= false ; __cube mouseChildren = false.;
= [ ( new BlurFilter ( 2 , 2 , BitmapFilterQuality . HIGH ) ) ] ; . __cube filtros = [(novo BlurFilter (2, 2, BitmapFilterQuality HIGH).)];
( __cube ) ; . __scene addChild (__cube);
, 0 , - 150 , 0 , 0 , 0 ) ; createFace (0, 0, - 150, 0, 0, 0);
, 0 , 0 , 0 , - 90 , 0 ) ; createFace (150, 0, 0, 0, - 90, 0);
, 0 , 150 , 0 , 180 , 0 ) ; createFace (0, 0, 150, 0, 180, 0);
150 , 0 , 0 , 0 , 90 , 0 ) ; createFace (- 150, 0, 0, 0, 90, 0);
, - 150 , 0 , - 90 , 0 , 0 ) ; createFace (0, - 150, 0, - 90, 0, 0);
, 150 , 0 , 90 , 0 , 0 ) ; createFace (0, 150, 0, 90, 0, 0);
}

, e all'interno di __cube aggiungo le “facce”: __cube é adicionado à cena __scene , e dentro __cube adicionar o "faces":

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/ *
** @ Nome: createFace ()
* /
createFace ( x : Number , y : Number , z : Number , função protegida createFace (x: Número , y: Número , z: Número ,
, rotationy : Number , rotationz : Number ) : void { rotationX: Número , rotationY: Número , rotationZ: Número ): void {
Sprite3D = new Sprite3D ( ) ; cara var: Sprite3D Sprite3D = new ();
beginFill ( 0xff0000 ) ; .. rosto graphics3D beginFill (0xFF0000);
drawRect ( - 150 , - 150 , 300 , 300 ) ; .. rosto graphics3D drawRect (- 150, - 150, 300, 300);
endFill ( ) ; . rosto graphics3D endFill ().;
= x ; . rosto x = x;
= y ; . rosto y = y;
cara z = z.;
. rosto rotationX = rotationX;
. rosto rotationY = rotationY;
. rosto rotationZ = rotationZ;
; . rosto singleSided = true;
; . rosto flatShaded = true;
( face ) ; __cube addChild (face).;
}

A cena, naturalmente, é o clássico, com a adição do parâmetro ambientLightIntensity :

1
2
3
4
5
6
7
8
9
10
11
/ *
** @ Nome: initScene ()
* /
initScene ( ) : void { initScene função protegida (): void {
; __scene Scene3D = new ();
= stage . stageWidth / 2 ; __scene x = estágio stageWidth / 2..;
= stage . stageHeight / 2 ; __scene y = estágio stageHeight / 2..;
; __scene viewDistance = 400.;
; __scene ambientLightIntensity = 1.;
__scene ) ; addChild (__scene);
}

2 comentários para "FIVe3D: efeitos de um cubo! À espera de Flash 10 "

  1. 09 de julho de 2008 groggit.com:

    FIVe3D: efeitos de um cubo! À espera de Flash 10 ...

    Muito provavelmente, quando sai a nova versão do Adobe Flash, bibliotecas 3D de "baixo nível", como FIVe3D vai acabar mal! No entanto, antes do "Trash", aqui está um exemplo do que pode ser alcançado (com a última versão 2 ...

  2. 2 de outubro de 2008 XOS :

    Oi tudo,
    Você já viu este motor fantástico em 3D para flash player?

    http://www.sophie3d.com

Deixe um comentário

XHTML PERMIT TAG: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> CÓDIGO DE INSERÇÃO:
 <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