:: Home » Papervision » Blog article: Classe Base para Papervision

Classe Base para Papervision

02
fev

Bom, o Papervision não é tão simples de usar quanto o caurina, para programarmos em Pv3d precisamos seguir algumas regras, e funções iniciais, é isto que vou mostrar neste post.

Vou disponibilizar uma classe que poderá ser usada em todos os projetos. utilizada como import, ou na própria timeline ( menos indicado ).

Bom, vou escrever aqui a classe:

package{
import flash.display.Sprite;
import flash.events.Event;
 
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;
 
public class pv3d_base extends Sprite{
 
public var viewport:Viewport3D// O Viewport
public var render:BasicRenderEngine// A engine para renderizar ou Rendering Engine
public var default_scene:Scene3D// Uma Scene
public var default_camera:Camera3D// Um Câmera
 
public function pv3d_base(){
}
 
public function init(largura:Number, altura:Number):void {
 
initPapervision(largura, altura);// Inicializa o papervision
init3d();// Inicializa objetos 3d
initEvents();// Seta qualquer event listeners..
}
 
protected function initPapervision(largura:Number, altura:Number):void {
 
viewport = new Viewport3D(largura, altura, false, true) // adiciona o viewport
 
addChild(viewport)// Adiciona o viewport no stage...
 
render = new BasicRenderEngine() // inicia o render
 
default_scene = new Scene3D();
 
default_camera = new Camera3D();// foco da camera
}
 
protected function init3d():void {
//conteudo da cena
}
 
protected function initEvents():void {
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
 
protected function processa():void {
// roda as animações
}
 
protected function onEnterFrame( ThisEvent:Event ):void {
//renderiza e chama a fucnao processa
processa()
render.renderScene(default_scene, default_camera, viewport)
}
 
}
}

Bom.. como fazer isso funcionar??
É bem simples, no flash é só criar um arquivo .as, colar este código e salvar como pv3d_base. Lemdrando que o nome não pode ser diferente, pois dentro da classe temos este nome definido. outra coisa importante é não retirar o ‘extends Sprite’ pois utilizamos ele.

Observações: a função init é publica, ela será chamada de outra classe para ser inicada, com largura e altura desejada para o viewport.

Está classe será estática, não mexeremos mais nela por enquanto, só em projetos mais pra frente.

baixe aqui a classe.
baixe aqui o zip com o fonte.

No próximo post estarei explicando como utilizar esta classe para criar sua primeira cena em Papervision.

Qualquer duvida deixa um comentário que eu tento ajudar…

VN:F [1.8.1_1037]
Rating: 0.0/5 (0 votes cast)
Veja outros Artigos:

Um comentário para “Classe Base para Papervision”

  1. [...] anterior, neste mostrarei como criar e mostrar um cubo rodando na cena em papervision. Utilizando a classe base mostrada no artigo anterior. Ela por si apenas “prepara o terreno”, agora precisamos [...]

Comente