返回 导航

Flex

hangge.com

Away3D - away3d的介绍与配置,以及一个简单的样例

作者:hangge | 2015-11-05 08:06
1,什么是Away3D
Away3D是flash或flex上的一个功能强大且实时的3D引擎,具有快速、高效、API清楚等优点。
away3d世界由:view 视口、scene 场景、camera 摄像机和3D物体四部分组成,也称Away3D的四大基本构件。

2,建议使用4.0以上版本
因为4.0以后的内核是基于Stage3D的,支持GPU渲染和硬件加速,运行效率上有质的飞越

3,配置及注意事项
(1)下载地址:http://away3d.com/download/
只须把swc引入到项目中即可。

(2)如果是Flex项目,注意编译参数设置。框架链接要使用“合并到代码中”


(3)在模板页或者html页面里加上 params.wmode="direct"; 否则会报如下错误:
Error #2044: 未处理的 ErrorEvent:。 text=Error #3702: Context3D 不可用。

4,最简单的样例
(1)舞台中间添加一个球体
(2)球体的皮肤使用的是一个草皮的图片

package{
	import flash.display.Sprite;
	import flash.events.Event;
	
	import away3d.containers.View3D;
	import away3d.entities.Mesh;
	import away3d.materials.TextureMaterial;
	import away3d.primitives.SphereGeometry;
	import away3d.textures.BitmapTexture;

	[SWF(width="600", height="400", frameRate="60", backgroundColor="#FFFFFF")]
	public class S1 extends Sprite {
				
		private  var _view3D:View3D;
		
		//草地图片(用作球体的纹理 )
		[Embed(source="assets/grass.jpg")]
		private var grassClass:Class;
		
		public function S1() {
			// 创建一个视口
			_view3D = new View3D();
			addChild(_view3D);
			
			//球体的纹理
			var bmpTexture:BitmapTexture = new BitmapTexture(new grassClass().bitmapData);
			var material:TextureMaterial = new TextureMaterial(bmpTexture);
			// 在三维舞台中创建一个球体
			var sphere:Mesh = new Mesh(new SphereGeometry(200), material);
			_view3D.scene.addChild(sphere);
			
			addEventListener(Event.ENTER_FRAME, _onEnterFrame);
		}
		
		/**
		 * 渲染视图
		 */
		private function _onEnterFrame(e:Event):void
		{
			_view3D.render();
		}
	}
}
源码下载:Amay3DTest1.zip
评论

全部评论(0)

回到顶部