配置A3D开发环境

Alternativa3D 是基于 ActionScript 3.0 的 Flash 3D 框架,支持 GPU 硬件加速,免费不开源。

配置开发环境参考了官方教程:

http://wiki.alternativaplatform.com/Getting_started_with_Alternativa3D_8

1 安装FlashDevelop 4。(Flex SDK4.6和playerglobal.swc都已经集成在进FlashDevelop4中)你能启动FlashDevelop,如下图所示。

配置A3D开发环境_第1张图片

创建一个AS3项目:选择【Project】→【New projectt】


输入项目名称为Alternativa3D_8,保存在C:\Work\ Alternativa3D_8目录下。

配置A3D开发环境_第2张图片

选择【Project】→【Properties】→【Compiler Options】→【AdditionalCompiler Options】,增加下面的参数:

-swf-version=13-target-player=11.1 -static-link-runtime-shared-libraries=true

配置A3D开发环境_第3张图片

选择【Project】→【Properties】→【Output】→【TestProject set to Open document 】然后输入:

bin\index.html

这样,我们就创建了一个AS3项目。

 

2 安装FlashPlayer 11。

 

5 下载Alternativa3D 8。将解压的Alternativa3D.swc拷贝到前面创建AS3工程的lib文件夹中。选择lib中的Alternativa3D.swc,单击鼠标右键,选择【Add to library】,如下图所示。

配置A3D开发环境_第4张图片

OK!我们已经配置好了环境。现在我们马上编写一个类,然后编译运行测试一下环境是否配置成功。

在Main.as中编写如下代码:

package
{
    import alternativa.engine3d.core.Camera3D;
    import alternativa.engine3d.core.Object3D;
    import alternativa.engine3d.core.Resource;
    import alternativa.engine3d.core.View;
    import alternativa.engine3d.materials.FillMaterial;
    import alternativa.engine3d.primitives.Box;
    import flash.display.Sprite;
    import flash.events.Event;
    
    import flash.display.Stage3D;
    /**
     * ...
     * @author yl
     */
    public class Main extends Sprite
    {
        private var rootContainer:Object3D = new Object3D();//创建一个容器
        private var camera:Camera3D;//创建摄像机
        private var stage3D:Stage3D;//创建Stage3D对象
        
        private var box:Box;
        
        public function Main():void
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
        
        private function init(e:Event = null):void
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            // entry point
            stage.align = "TL";//设置SWF在播放器或浏览器中的当前对齐方式,TL表示居顶左侧
            //创建摄像机,0.1表示近裁剪距离,10000表示远裁剪距离
            camera = new Camera3D(0.1, 10000);
            //创建视窗,所有对象都绑定到这个视窗中
            camera.view = new View(stage.stageWidth, stage.stageHeight);
            camera.rotationX = -120 * Math.PI / 180;
            camera.y = -800;
            camera.z = 400;
            addChild(camera.view);//将摄像机观察的视窗加载进Sprite(显示列表)
            
            rootContainer.addChild(camera);//将摄像机加载进容器
            
            box = new Box(500, 500, 500, 5, 5, 5);
            var material:FillMaterial = new FillMaterial(0xFF7700);
            box.setMaterialToAllSurfaces(material);
            
            rootContainer.addChild(box);
            
            stage3D = stage.stage3Ds[0];//获取stage3D对象
            
            //创建Content3D后,调用onContextCreate
            stage3D.addEventListener(Event.CONTEXT3D_CREATE, onContextCreate);
            stage3D.requestContext3D();
        }
        
         private function onContextCreate(e:Event):void {
             //遍历在容器中所有资源
              for each (var resource:Resource in rootContainer.getResources(true)) {
                    resource.upload(stage3D.context3D);//给所有资源增加content3D
              }
              stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);
          }
 
          private function onEnterFrame(e:Event):void {
              camera.rotationZ -= 0.01;
              camera.render(stage3D);//渲染
          }    
    }
}

如果能看见下面的图形,表示环境配置成功。

配置A3D开发环境_第5张图片

你可能感兴趣的:(properties,function,object,import,compiler,actionscript)