2024年5月11日发(作者:)
教程1 Hello Alternativa3D
在这一讲中,我们会建立一个简单的3D场景,让大家一步步了解A3D中场景设置的基
本知识。
首先,我们先在Flex中创建一个AS工程(如果你使用的是其他软件,如Flash
CS4,FlashDevelop也可以),取名为HelloAlternativa3D,然后把A3D的SWC类库导入到工程
中。对于一个工程,我们仅建立一个文件,包含了以下所有代码:
package {
//从A3D包中导入所需要的类
import Controller;
import 3D;
import 3D;
import 3D;
import ;
import terial;
import ;
import ;
//从flash 包中导入所需要的类
import ;
import lign;
import caleMode;
import ;
//设置输出地SWF文件的背景色和帧频
[SWF(backgroundColor="#000000", frameRate="100")]
public class HelloAlternativa3D extends Sprite {
//声明所需要的变量
private var scene:Scene3D;
private var view:View;
private var camera:Camera3D;
private var cameraController:CameraController;
private var box:Box;
public function HelloAlternativa3D() {
addEventListener(_TO_STAGE, init);
}
public function init(e:Event): void {
removeEventListener(_TO_STAGE, init);
//设置舞台缩放模式,当拉动播放器时,画面保持原始大小比例显示。
ode = _SCALE;
//设置舞台对齐方式,使舞台靠左上角对齐。
= _LEFT;
//创建场景
scene = new Scene3D();
= new Object3D();
box = new Box(100, 100, 100, 3, 3, 3);
aterialToAllSurfaces(new WireMaterial(1, 0xFFFFFF));
ld(box);
//添加相机和视窗
camera = new Camera3D();
camera.x = 100;
camera.y = -150;
camera.z = 100;
ld(camera);
view = new View();
addChild(view);
= camera;
//添加相机控制器
cameraController = new CameraController(stage);
= camera;
aultBindings();
ollisions = true;
ionRadius = 20;
();
lsEnabled = true;
//添加帧频显示
(stage);
//为stage添加事件侦听
ntListener(, onResize);
ntListener(_FRAME, onEnterFrame);
onResize(null);
}
private function onResize(e:Event):void {
= idth;
= eight;
}
private function onEnterFrame(e:Event):void {
//用户输入响应
sInput();
//场景计算重绘
ate();
}


发布评论