Hello World 3-D

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

7d7808cd

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

m2efc0825

Entre no diretório criado.

m4928ad73

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

224453a6

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

m394dc0d9

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.

m530d391c

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.

42b1200f

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.

m7b338363

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

a91ac3a

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.

m76da447a

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?

66340657

Ali está o Teste.swf!

m2162234b

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

m455cd2ad

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!

Postado por
Siga em:
Compartilhe
Deixe seu comentário
Assine nossa Newsletter
Assine nossa newsletter e receba nossa seleção de conteúdo sobre tecnologia, games, IA e internet em seu email.
Veja também
Publicações Relacionadas
Img de rastreio
Localize algo no site!