por Guilherme Moschen em 24/07/2007 as 00:08

Acredito que não tenha sido muito convincente no post anterior sobre o que é capaz de se fazer com esse nosso novo amigo chamado Papervision3D. Pra ser um pouco mais claro, eu fiz um pequeno exemplo pra demonstrar um pouco mais essa tecnologia.

A idéia é bem simples, um cubo girando com o logo da CubaGames como textura do cubo. Vamos ao código.

Actionscript:
  1. public class Main extends Sprite{
  2.  
  3. var container:Sprite;
  4.  
  5. var cena:Scene3D;
  6.  
  7. var cubo:Cube;
  8.  
  9. var camera:Camera3D;
  10.  
  11. public function Main() {
  12. this.carrega3D();
  13.  
  14. // Para cada entrada de frame, o metodo loop3D sera chamado
  15. this.addEventListener( Event.ENTER_FRAME, this.loop3D );
  16. }
  17.  
  18. // Método que carrega todos objetos 3D
  19. private function carrega3D():void {
  20.  
  21. // Cria um container de Sprite e centraliza na tela
  22. this.container = new Sprite();
  23. this.addChild( container );
  24. this.container.x = 150;
  25. this.container.y = 150;
  26.  
  27. // Cria a cena 3D do Papervision
  28. this.cena = new Scene3D( this.container );
  29.  
  30. // Cria a camera
  31. this.camera = new Camera3D();
  32. this.camera.z = 100;
  33.  
  34. // Cria a textura para o Cubo
  35. var texturaCubo:BitmapAssetMaterial =
  36.       new BitmapAssetMaterial("LogoCubaGames");
  37.  
  38. // O Logo CubaGames é um gif importado para o arquivo .fla
  39. // Nas propriedades da figura é setado o seu ID como CubaGames
  40. // Cria o Cubo
  41. this.cubo = new Cube(
  42. texturaCubo, // textura do objeto 3D
  43. 100, // largura
  44. 100, // profundidade
  45. 123); // altura
  46.  
  47. // Adiciona o cubo na cena
  48. this.cena.addChild(cubo);
  49. }
  50.  
  51. public function loop3D( event:Event ):void {
  52. // Gira o Cubo verticalmente
  53. this.cubo.yaw(Math.PI / 4);
  54.  
  55. // renderiza a camera na cena
  56. this.cena.renderCamera( this.camera );
  57. }
  58. }

Eu realmente gostei dessa nova forma de fazer animações em Flash e sim, AS3!

O exemplo pode ser visto aqui e ser baixado aqui.

Aquele abraço!

Categorias: Flash - ActionScript, Papervision3D |


Deixe um comentário