文章目录
  1. 1. 一个flash3d框架
  2. 2. Demo入口

一个flash3d框架

比较早得时候学习的一个框架,当时和其他比较出名的3D框架比如away3d对比了下,觉得这个上手难度低而且封装的比较好,就开始学习一段时间,这个团队现在做了c++版本的引擎,也是跨平台的。之前的笔记现在搬过来。

Demo入口

MinkoExampleApplication文件是所有实例主文件的基类,一个minko程序的大致框架流程基本就是这样。
所有的现实对象继承AbstractSceneNode并实现了ISceneNode接口,如果你想自定义一个minko的现实对象也要这样做。

1
2
3
4
5
6
7
8
9
10
11
12
protected function initializeScene() : void
{
_camera = new Camera();
_cameraController = new ArcBallController();
_cameraController.bindDefaultControls(stage);
_cameraController.minDistance = 1;
_cameraController.yaw = Math.PI * -.5;
_cameraController.pitch = Math.PI / 2;
_cameraController.distance = 5;
camera.addController(_cameraController);
_scene.addChild(camera);
}

Camera就是一个显示对象,一般来说我们不需要修改这个类,除非你有一些奇葩的想法;
并且在这里添加了一个控制器—响应鼠标操作的控制器,这个类会经常用到,会响应鼠标点击,滑轮滚动以及鼠标按下拖动事件,下面是对一些成员的说明:
bindDefaultControls方法,参数是IEventDispatcher类型,所以是flash的实现了改接口的原生对象;
minDistance是摄像机到显示对象的最小距离,对应一个最大距离;
yaw 偏离角度,影响,x和z;
pitch 一个仰角,弧度制,大于0为俯视,只影响与Y的角度;
distance 与现实对象间的距离,大于0时对象在摄像机前面;
camera实现了ISceneNode接口,所以可以添加控制器,现实对象的响应都是在控制器中实现的,并可以添加多个控制器。
Scene类,minko中可以渲染其他显示对象的类,因为实现了RenderingController控制器,RenderingController类是一个渲染实现类,最终使用stage3d对象的是DrawCall类,想自定义一个渲染对象继承Scene类即可。
还有一个重要的类Viewport,这是连接原生显示对象和minko的类,看名字你就懂的,这个类封装了调用了Context3DResource—一个对3D对象管理的类,但是我们无法访问,有需要请用自己的双手解决。
MinkoExampleApplication文件还是比较简单,看下就会用了。

文章目录
  1. 1. 一个flash3d框架
  2. 2. Demo入口