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):
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); } |










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 ...
Oi tudo,
Você já viu este motor fantástico em 3D para flash player?
http://www.sophie3d.com