[AS3] Alternavta3d7.5教程(一)

[AS3] Alternavta3d7.5教程(一)
2010年12月30日
  "Molehill"来袭,大家都准备好了吗?Flashplayer11的GPU支持将改变整个Flash平台的开发。
  Alternavta3d是目前最好的Flash平台3D引擎,最新版本是7.5.1,虽然下一个版本8还没放出,但由于跟原来5.6的版本差异很大,跟8应该相差不大了。
  Alternavta3d由于不是开源的,网上教程比较少,我会陆续更新Alternavta3d7.5系列教程。
  Hello, Alternativa3D
  这是我的第一个Alternativa3D例子
  
  打开演示
  整个例子非常简单,有几点需要注意:
  1. wireMaterial和colorMaterial都是通过FillMaterial创建的,区别只是在参数的设定上。
  2. flash运行的状态数据(如FPS,MEM等)可以通过addChild(camera.diagram)来显示。
  3. 不像pv3d有一个scene,将3D对象放到场景可以用addChild Object3DContainer,或使用BSPContainer来实现。 复制内容到剪贴板
  [b]代码: [/b]
  /**
  * Engine:Alternativa3D7.5.1
  * Author:Mars Yang
  * Link:http://www.marsyang.com/blog/archives/85
  */
  package
  {
  import alternativa.engine3d.core.Camera3D;
  import alternativa.engine3d.core.Object3DContainer;
  import alternativa.engine3d.core.View;
  import alternativa.engine3d.materials.FillMaterial;
  import alternativa.engine3d.primitives.Plane;
  import alternativa.engine3d.primitives.Sphere;
  import flash.display.Sprite;
  import flash.events.Event;
  [SWF(backgroundColor="#000000", frameRate="100")]
  public class Example0 extends Sprite
  {
  private var rootContainer:Object3DContainer = new Object3DContainer();
  private var camera:Camera3D;
  private var plane:Plane;
  private var sphere:Sphere;
  private var wireMaterial:FillMaterial = new FillMaterial(0, 0, 0, 0xffffff);
  private var colorMaterial:FillMaterial = new FillMaterial(0xff0000, 1, 0, 0xffffff);
  public function Example0()
  {
  addEventListener(Event.ADDED_TO_STAGE, init);
  }
  public function init(e:Event): void
  {
  removeEventListener(Event.ADDED_TO_STAGE, init);
  //create camera & view
  camera = new Camera3D();
  camera.view = new View(stage.stageWidth, stage.stageHeight);
  addChild(camera.view);
  addChild(camera.diagram);
  camera.rotationX = -120*Math.PI/180;
  camera.y = -150;
  camera.z = 100;
  rootContainer.addChild(camera);
  //create object3d
  plane = new Plane(200, 60);
  plane.setMaterialToAllFaces(colorMaterial);
  rootContainer.addChild(plane);
  sphere = new Sphere(50);
  sphere.y = 100;
  sphere.setMaterialToAllFaces(wireMaterial);
  rootContainer.addChild(sphere);
  camera.render();
  stage.addEventListener(Event.RESIZE, onResize);
  }
  private function onResize(e:Event):void {
  camera.view.width = stage.stageWidth;
  camera.view.height = stage.stageHeight;
  camera.render();
  }
  }
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值