PV3D学习记录二(基本语法和结构)

2009.02.13 作者: 小V - 0 评论
文章分类: Flash

1.先学习一下原理。

原理解释:要使papervision3D成像,必须至少初始化下面4个东西。

窗口:用户观看的窗口,简单的可以想成就是flash里面的画布大小。窗口也可以理解成渲染的尺寸,否则画面就无限大了

场景:场景是指整个三维的场景。

摄像机:来拍画面.

渲染器:如果没有这个东西,所有以上的东西都只是数据,渲染器就是把所有数据变成图像的东西。

源于:http://flab3d.com/tutorials_01_pv3dbasic.php 的原理介绍。

2.基本语法

如果,你也未接触过as3.0,可以先熟悉一下格式,或是再找本好的书学习一下。(我是比较早以前接触的as2.0,更新3.0的时候没时间去学,所以先了解一下这个,有机会要认真看看as3.0的书)

package
{   //引用包 import后面加所需要包的路径,如:
import flash.display.Sprite;
/////////////////////////////////////////////
//声明主应用程序类继承自哪里如:Sprite,在flash里用作文档类,就是这个文件的名字,如:
public class Main extends Sprite
{//主要声明所有的必要变量,如:
private var viewport:Viewport3D;//初始化窗口
/////////////////
//声明主函数,如:
public function Main()
{//具体要执行的内容,如:
init();//调用下面init这个函数
}
//声明一些函数,如:
private function init():void
{//具体要执行的内容,如:
initObjects();
}
}
}

3. pv3d的基本结构

了解完基本语法之后,开始实践,先来分析个简单的代码:

package
{//引用包
import flash.display.Sprite;

import org.papervision3d.view.Viewport3D;//窗口
import org.papervision3d.cameras.FreeCamera3D;//摄像机
import org.papervision3d.render.BasicRenderEngine;//渲染器
import org.papervision3d.scenes.Scene3D;//场景

import org.papervision3d.objects.primitives.Plane;//Plane基本图形

//声明主应用程序类
public class Main extends Sprite
{//声明所有的必要变量
private var viewport:Viewport3D; //声明窗口
private var scene:Scene3D;//声明场景
private var camera:FreeCamera3D;//声明摄像机
private var renderer:BasicRenderEngine;//声明渲染器
///////上面就是那四大要素了

private var plane:Plane;// 再随便使用一下Plane基本图形画下图

public function Main() //声明主函数
{
initPapervision();//调用下面init这个函数
initObjects();//调用下面init这个函数
}
private function initPapervision():void//可以看出是初始化的函数
{
viewport = new Viewport3D(400,400);
addChild( viewport );//两句合起来,初始化窗口并添加进主场景
scene = new Scene3D();//初始化场景
camera = new FreeCamera3D();//初始化摄像机
renderer = new BasicRenderEngine();//初始化渲染器
}
private function initObjects():void//可以看出是初始化的函数
{
plane = new Plane();//初始化基本图形
scene.addChild( plane );//把基本图形添加进3d场景里
renderer.renderScene( scene, camera, viewport );//开始渲染
}
}
}

完后就能看到一个正方形中间一条斜线,不能动的哦。因为没有加载onenterframe。先学会基本结构比较重要。保存住,下次再给它加上点基本效果。

先仔细看看代码,如果去掉四要素的基本代码,结果就只剰几句plane的引用和声明加载。

相关文章