您的位置:首页 > 其它

sandy引擎学习笔记: 创建一个立方体

2008-10-02 23:45 302 查看
问题:如何利用sandy的类库去创建一个立方体呢?

首先,我们要先了解sandy类库的结构



可以看到上面就官方网放出的类库表,有一些很容易理解,像sandy.events 这个和flash.event 事件都差不多,如果我们要创建一个立方体,我们使用到sandy.primitive 类包里面一个box的类,这个包主要创建一些比较简单的模型。这次我们只是需要用到box

var myBox:Box = new Box( "theBox", 50, 100, 150, PrimitiveMode.TRI, 2 );

这样就是一个创建的过程。是不是很简单的呢,其实官方的文档写得不尽人意。幸运的事情,官方提供代码的训练和讲解。好废话小说。看上面的创建只是就个box类,主要是创建一些立方体和长方体的模型。后两个参数可以不用理会。

var myBox:Box = new Box( "theBox", 50, 100, 150);

第一个名字,第二,第三,第四分别是长宽高。

package{

import flash.display.Sprite;

import flash.events.*;

import sandy.core.Scene3D;

import sandy.core.scenegraph.*;

import sandy.primitive.*;

import sandy.core.data.*;

import sandy.materials.*;

import sandy.materials.attributes.*;

public class My3D extends Sprite

{

private var scenne:Scene3D;

private var camera:Camera3D;

private var ranY:Number=0.5;

private var box:Box;

public function My3D()

{

camera=new Camera3D(300,300);

camera.z=-400;

var root:Group=createScene();

scenne=new Scene3D("scene1",this,camera,root);

addEventListener(Event.ENTER_FRAME,Run);

}

private function createScene():Group

{

var g:Group=new Group();

box=new Box("box",100,100,100);

box.rotateX=30;

box.rotateY=30;

g.addChild(box);

return g;

}

private function Run(event:Event):void

{

scenne.render();

box.rotateX=mouseX;

box.rotateY=mouseY;

}

}

}

暂时不用看代码,首先我们了解这个创建 的过程,我们建立一个场景,一个摄影机,一个box,舞台这样。我们假设这个是对的创造过程,按照思路在场景里面摆放一台摄影机器。定位在一个位置中,注视一个位置,这个位置我们所要观察到的立方体。

最终在场景中要渲染出来才可以显示到舞台上。。

就是这样一个过程。



注意:

import sandy.core.Scene3D;//场景的

import sandy.core.scenegraph.*;//负责图形

import sandy.primitive.*;//简单的模型

这次主要使用到sandy引擎中三个包。它的创建过程,就是像一个导演拍摄一样。创建场景,创建角色,渲染场景。

好就是这样,下次我们再学习摄影机,场景 和纹理贴图,还有高级的3ds模型导入。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: