Hello World 3-D

Uma vez que baixamos o que precisavamos para compilar, vamos fazer nosso primeiro programinha.

Para uma melhor organização, crie uma pasta chamada “teste” dentro do diretório Tutorial.

Entre no diretório criado.

Na área correspondente ao diretório, clique no botão direito do mouse e vá em “Criar documento –> Arquivo vazio”.

Renomeie o arquivo (clicando sobre ele e pressionando F2) para Teste.as

Abra o arquivo com o Gedit.

Escreva ou copie e cole esse exemplo:

package
{
 import flash.events.Event;

 import org.papervision3d.objects.primitives.Sphere;
 import org.papervision3d.view.BasicView;

 public class Teste extends BasicView
 {

  private var sphere:Sphere;
 
  public function Teste()
  {

   stage.frameRate = 40;

   sphere = new Sphere();
   scene.addChild(sphere);

   startRendering();
  }
 }
}

Salve e agora vamos compilá-lo.

Abra o terminal em Aplicativos –> Acessórios –> Terminal.

Vamos setar o caminho do executável do compilador em nosso sistema atravéz dos comandos:

PATH=$PATH:/home/cogitas3d/Tutorial/flex_sdk_4.1.0.16076/bin/
export PATH

Não se esqueça de substituir o “cogitas3d” pelo seu nome de usuário.

Para testar e ver se tudo deu certo, tente escrever

mxm

E sem dar espaço um TAB para autocompletar:

mxmlc

Se tudo estiver certo o comando se autocompletará. Pressione ENTER e veja se a mensagem que aparecer tem semelhança com a imagem acima.

Vamos entrar no diretório que criamos com o comando:

cd Tutorial/teste/

Em seguida… tcham, tcham, thcham! A compilação com o comando:

mxmlc Teste.as

Bem, parece que alguma coisa deu errado. Na verdade, nesse caso não. Mas no futuro, para evitar esse tipo de mensagem, vamos complementar a nossa linha de comando com o que está pedindo, no caso a complementação -static-link-runtime-shared-libraries. Isso evitará que o arquivo 3-D (Collada) que importaremos deixe de aparecer.

Seguindo a dica, o comando que daremos será o:

mxmlc -static-link-runtime-shared-libraries Teste.as

Com isso obteremos uma saída mais elegante, sem aquele monte de mensagens de erro. Algo como isso:

Carregando arquivo de configuração /home/cogitas3d/Tutorial/flex_sdk_4.1.0.16076/frameworks/flex-config.xml
/home/cogitas3d/Tutorial/teste/Teste.swf (65802 bytes)

Segundo a última linha, um arquivo chamado Teste.swf foi criado no nosso diretório de trabalho. Que tal irmos lá dar uma olhada?

Ali está o Teste.swf!

Para vermos se nosso teste deu certo, vamos abrir o arquivo Teste.swf com um browser de internet. Nesse caso, escolhi o Chromium.

Se tudo deu certo é para aparecer algo como a imagem acima. Mas esse exemplo tem um probleminha. Esse círculo desenhado ainda não tem cara de 3-D, ele está estático, pode até ser um conjunto de linhas 2-D apenas.

Vamos aplicar um efeito simples para atestar que o Papervision3D de fato trabalha com o mundo tridimensional.

Vá no Gedit onde você escreveu o código e complemente-o (parte em negrito):

package
{
 import flash.events.Event;

 import org.papervision3d.objects.primitives.Sphere;
 import org.papervision3d.view.BasicView;

 public class Teste extends BasicView
 {

  private var sphere:Sphere;
 
  public function Teste()
  {

   stage.frameRate = 40;

   sphere = new Sphere();
   scene.addChild(sphere);

   startRendering();

  }
  override protected function onRenderTick (e:Event=null) :void
  {
   sphere.localRotationY += 1;
   super.onRenderTick();
  }
 }
}

Perfeito. Agora salve-o, volte ao console e compile novamente:

mxmlc -static-link-runtime-shared-libraries Teste.as

Atualize a visualização ou abra novamente o arquivo Teste.swf e veja o que acontece.

A esfera está girando!

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X