配置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,如下图所示。


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


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


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

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


选择【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】,如下图所示。

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);//渲染
          }    
    }
}

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值