因为看到一篇好文章,Getting Started with Adobe Flex and Away3D,按照他的步骤,做出一个away3D的例子。下面介绍一下。
要谈到Flex上的3D开发,away3d是个不错的选择,可以看一下下面的这个例子:
好的,如何能实现这个例子呢?
一开始,我们需要得到一个最新的Away3D的版本,我们可以到http://www.away3d.com/download 上去下载她,在FlexBuilder3环境中,新建一个 Flex Project ,起一个名字,例如:Away3D,然后我们点击Finish。
然后,我们将下载之后的zip文件解压缩,里面会有一个叫做away3d的文件和一个nochump的这两个文件,我们把上面提到的那两个文件拷贝到这个Away3D的src目录底下。
然后,我们要将我们的mxml代码修改为如下的形式:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
width="500" height="400" >
<mx:Panel width="100%" height="100%" title="Our 3D Canvas"
backgroundColor="#D1F0FF">
</mx:Panel>
</mx:Application>
然后我们需要新建一个flex类,他叫做FlexView3D,代码如下所示:
package
{
import mx.core.UIComponent;
public class FlexView3D extends UIComponent
{
public function FlexView3D()
{
super();
}
}
}
然后我们需要修改我们的mxml为:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="*"
layout="absolute" width="500" height="400">
<mx:Panel width="100%" height="100%" title="Flex 3D View"
backgroundColor="#D1F0FF">
<local:FlexView3D width="100%" height="100%" />
</mx:Panel>
</mx:Application>
然后我们将我们将之前的那个FlexView3D 类修改为:
package
{
import away3d.core.material.BitmapFileMaterial;
import away3d.core.math.Number3D;
import away3d.core.scene.View3D;
import away3d.objects.Cube;
import flash.events.Event;
import mx.core.UIComponent;
public class FlexView3D extends UIComponent
{
private var view:View3D;
private var sotcCube:Cube;
public function FlexView3D()
{
super();
this.addEventListener(Event.ENTER_FRAME, onFrameEnter);
}
override protected function createChildren():void
{
super.createChildren();
if(!this.view)
{
this.view = new View3D();
this.view.camera.moveTo(new Number3D(0, 0, -1500));
this.view.camera.lookAt(new Number3D(0, 0, 0));
}
this.addChild(this.view);
if(!this.sotcCube)
{
this.sotcCube = new Cube({name: "cube", size: 250});
this.sotcCube.material = new BitmapFileMaterial("sotc.jpg");
}
this.view.scene.addChild(this.sotcCube);
}
override protected function updateDisplayList(
unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
if(this.width / 2 != this.view.x)
this.view.x = this.width / 2;
if(this.height / 2 != this.view.y)
this.view.y = this.height / 2;
}
private function onFrameEnter(event:Event):void
{
if(this.view && this.view.stage)
{
this.sotcCube.rotationX += .7;
this.sotcCube.rotationY += .5;
this.sotcCube.rotationZ += .4;
this.view.render();
}
}
}
}
然后我们运行一下,看看是否出现了一个3D的旋转的立方体?(代码中的图片可以放上自己找的图片然后rename it)。
分享到:
相关推荐
这个示例着重于将Away3D与Flex结合,创建出具有交互性的3D场景,并在其中播放帧动画。 首先,了解Flex和Away3D的基础是至关重要的。Flex是一种基于MXML和ActionScript 3.0的开发框架,用于构建富互联网应用程序...
《3D中国象棋:Flex与Away3D的深度整合》 在当今的数字时代,游戏开发技术日新月异,3D技术的应用已经深入人心,不仅在大型游戏领域,小型休闲游戏中也得到了广泛运用。本项目“3D中国象棋”就是这样一个例子,它...
通过Flex3d这个子目录,我们可以推测DEMO中可能包含了一系列与Flex相关的源代码文件,如MXML和AS3文件。Flex是基于ActionScript的开发框架,用于构建RIA,它提供了丰富的UI组件和事件处理机制,使得开发者可以更加...
总的来说,FLEX AWAY3D 世界地图素材是开发3D地理应用的重要资源,它结合了先进的3D技术与丰富的地理信息,为创造沉浸式用户体验提供了可能性。通过熟练掌握FLEX AWAY3D框架和相关素材的使用,开发者可以构建出令人...
在Flex项目中引用Away3D(版本3.6)AS项目是一个高级的3D图形编程实践,这涉及到将流行的ActionScript 3(AS3)框架Away3D与Adobe Flex结合使用,以创建丰富的3D用户体验。Away3D是一个强大的开源库,它允许开发人员...
Flex 3D,全称Adobe Flex 3D,是...综上所述,"flex3d实例"涉及的不仅是3D图形编程,还包括了软件架构、性能调优、用户交互等多个方面的知识。通过深入学习和实践这些实例,开发者能够掌握创建高质量3D RIA的技能。
标题中的“TWaver 3D Flex 3D 实例 例子”表明这是一份关于TWaver 3D技术在Flex 3D环境下的应用实例。TWaver是一款强大的数据可视化工具,它提供了丰富的图表类型和交互功能,而Flex 3D是Adobe Flex框架的一个扩展,...
《Away3D_4.1+Flex4.7学习笔记与案例解析》 Away3D是一个强大的开源3D引擎,专为Adobe Flash平台设计,它允许开发者创建丰富的、交互式的三维应用程序。本学习笔记结合Flex4.7框架,将深入探讨如何在Flash平台上...
讲解目录 chatper 1.3D WORLD chatper 2.light(灯光) chatper 3.位图贴图 chatper 4.创建天地 chatper 5.摄像头和全景制作 ...详细内容请参考教程文件,这里我就不详细说明!
Away3D 是一款强大的实时三维引擎,专为Flash或Flex平台设计。它的主要目标是提供一个高效的3D渲染环境,让开发者能够创建出互动性强、视觉效果丰富的3D应用程序。Away3D 支持ActionScript 3.0,这意味着它可以无缝...
Adobe+Flex编码指南.pdf chart.rar--java+flex图表 ...Flex入门培训资料及PPT.rar flex中文帮助.pdf InfoQ Flex与JSON及XML的互操作.mht 结合java做的flex图表例子 - 点点滴滴 - JavaEye技术网站.mht
《Away3D汽车展示:深度解析与应用》 在当今的数字媒体领域,3D图形技术的应用日益广泛,尤其在汽车展示中,它能够提供逼真的视觉体验,增强用户对产品的感知。 Away3D作为一款强大的Flash平台上的开源3D引擎,为...
在标题提到的"away3d 4.1.0 swc"中,SWC文件是一种库包格式,常用于Flex和ActionScript项目,它包含编译后的类和其他资源,使得开发者能够轻松集成Away3D框架到他们的Flash应用中。 在Away3d 4.1.0版本中,该库带来...
将Away3D与Flex结合,开发者可以在Flex环境中方便地创建和管理3D全景项目,利用Flex的强大UI组件和事件处理机制,提供用户友好的交互体验。 在“基于球面”的全景实现中,图像通常被分割成多个部分,每个部分对应...
使用Flex,开发者可以使用MXML和ActionScript来构建用户界面,并与Away3D结合实现3D功能。 2. **3D图形渲染** - Away3D引擎提供了全面的3D图形渲染支持,包括光照、纹理、材质、几何形状、相机控制等。它允许开发者...
这种布局要求容器内的项目平均分配可用空间,这与骰子面的布局类似,但是需要开启项目的自动缩放功能,通常是使用`flex`属性(`flex-grow`、`flex-shrink`和`flex-basis`的简写)。在这个例子中,可以通过设置容器的...
通过这个入门实例,开发者能够学习到如何将Java后端与Flex前端结合,创建交互性强、用户体验良好的Web应用。同时,掌握BlazeDS的使用对于理解前后端通信机制和提升开发效率至关重要。在实际开发中,还可以根据需求...
flex away3D最新版本2.3开发包下载以及开发演示
《flash+flex+air移动开发入门经典——适用于android、ios和blackberry》 第1章 flash、flex和air简介 1 1.1 adobe flash 1 1.2 actionscript 3.0 2 1.2.1 ecmascript 2 1.2.2 关键概念 3 1.3 flex框架 11 ...
《深入理解基于FLEX的WEB3D引擎:实例解析与教程》 在现代网页开发中,Web3D技术已经成为一种趋势,它为用户提供沉浸式的三维交互体验,极大地丰富了网页内容的表现形式。本资料包“完全基于FLEX的WEB3D引擎例子...