转自:http://www.cnblogs.com/beer/archive/2011/07/08/2101492.html

前言:作为页面中实验设备的显示层,需要一个swf作为显示的UI。虽然可以用FlashMX进行简单的flash设计,但是FlashMX一般是偏向于动画设计,而不是程序设计,所以在进行相关的开发时,支持性不是太好,于是笔者就想到了转用Flex Builder来进行开发。

一、开发语言和开发环境

  ActionScript是 Macromedia(现已被Adobe收购)为其Flash产品开发的 ,最初是一种简单的脚本语言,现在最新版本3.0,是一种完全的面向对象的编程语言,功能强大,类库丰富,语法类似JavaScript,多用于Flash互动性、娱乐性、实用性开发,网页制作和RIA应用程序开发。

  ActionScript 是一种基于ECMAScript的脚本语言,可用于编写Adobe Flash动画和应用程序。 由于ActionScript和JavaScript都是基于ECMAScript语法的,理论上它们互相可以很流畅地从一种语言翻译到另一种。不过JavaScript的文档对象模型(DOM)是以浏览器窗口,文档和表单为主的,ActionScript的文档对象模型(DOM)则以SWF格式动画为主,可包括动画,音频,文字和事件处理。

由于软件和库文件存在版本多样的问题,所以在进行介绍之前进行说明。本文中所演示例子使用的软件版本如下:

    Flash Builder:4.5

    Flex SDK:4.5.1

    Away3D:3.5.0

    Flash Player:10 debug版本或者更高

1.1 Flash Builder集成开发环境

  Adobe® Flash® Builder™ 4.5 软件(曾为 Adobe Flex® Builder™)是基于 Eclipse™ 的开发工具,使用 ActionScript® 和开源 Flex 框架快速构建具有表现力的移动、Web 和桌面应用程序。软件可以在Adobe主页上去下载。

  安装了Flash Builder4.5之后,Flex SDK4.5也自动被集成到了开发环境中了。然后就可以利用此IDE进行一般的Flex开发了,但是如果要进行3d开发,则还需要引入3d的引擎库。

  Flash Builder 4.5下载页面:https://www.adobe.com/cfusion/tdrc/index.cfm?product=flash_builder&loc=zh_cn

1.2 Away3D引擎库

  提供了一个3d引擎库。在Flash Builder中建立项目,然后引入此库,可以迅速进行3d的Flash开发。

  Away3D引擎属于一个免费开源的项目,而且持续开发和更新中,所有存在版本众多的问题。目前我们主要使用的是稳定版本的3.5版。在Away3d的主页中可以下载到如下资源:Away3d库、Away3d Examples例程、Away3d Documents参考文档。

  Away3d 3.5下载页面:http://away3d.com/download/away3d_3.5.0

1.3 Flash Player播放器

  编程的语言ActionScript目前主要分为2.0和3.0两个版本,Flash播放器相当于ActionScript的编译环境,对于不同版本的ActionScript需要不同的播放器支持,如果使用了低版本的Flash Player则会出现编译无法通过。对于Away3d_3.5库,需要至少Flash Player10的支持。如果希望能够在Flash Builder中对源代码进行调试,则需要到Adobe主页上下载一个debug版本的Flash Player10。

  在Adobe主页上下载Flash Player的时候,除了有发布版和调试版之分,也有IE和非IE之分。如果你使用的是IE或者基于IE内核的浏览器,则下载基于IE的debug版Flash Player10,如果是使用Chrome或者Firefox这些非IE内核的浏览器,则下载相应的播放器。

  Flash Player 10下载页面:http://www.adobe.com/support/flashplayer/downloads.html

  先到网上下载到上述的软件后,就可以遵循下述步骤进行环境搭建:

1.卸载本机上的旧版本的Flash Player,安装Flash Player10。

2.安装Flash Builder4.5到指定目录,例如:

"D:\Program Files\Adobe\Adobe Flash Builder 4.5"

如果成功安装,则Flex Sdk4.5也会被成功安装上,在目录:

"D:\Program Files\Adobe\Adobe Flash Builder 4.5\sdks"

里面包含了不同版本的Flex SDK,今后如果Adobe发布新的SDK,则只需要下载新的SDK然后解压到此目录中即可。

3.解压Away3d的库文件到指定目录。例如:

"D:\FlashBuilder_Libs\Away3d_lib"

在后面进行Away3d开发时,需要引用此路径中的库文件。

  完成上述工作后,就可以进行Away3d的Flex开发了。

二、建立ActionScript项目

  关于如何建立一般的Flex项目,在此不再赘述,有兴趣的可以到网上找到很多相关例子。本文重点在让Away3d 3.5提供的Examples成功跑起来。

2.1项目建立与设计

  打开Flash Builder,然后新建项目,选择"ActionScript Project",然后输入项目名称点击Finish。在Package Explorer中右击项目选择"Properties"进行相关设置。设置内容包括:

1.设置Flex SDK版本。

  一般情况下,在建立项目的时候就已经对SDK进行了指定,但是如果在项目建立完毕后需要修改SDK,可以在此界面下进行修改:ActionScript Build PathàLibrary path

2.设置Away3d库的引用路径。

  在ActionScript Build PathàSource path中,可以添加Away3d的引擎库,也就是我们下载下来解压下来的文件夹,添加解压目录src中的内容。

3.设计编译器版本

  ActionScript的编译环境就是Flash Player,Away3d 3.5需要10以下的版本的播放器的支持。在Flash Builder4.5中没有必要对此进行设置,因为默认的就是10.2的版本,但是如果今后3d库升级需要更高版本的播放器支持,则需要在此进行相应的设置。

2.2Away3d Examples项目移植

  将从Away3d主页上下载的3.5版本对应的"examples_3_5_0.zip"解压,然后将根目录下的文件复制到新建的ActionScript项目的根目录下进行覆盖。在Flash Builder中对项目的目录进行刷新。然后就可以了。

  如果想要运行某文件,例如:"Basic_LoadModel.as"则只需要右击此文件,然后选择"Set as Default Application",再右击选择Run asà Web Application,然后就可以在浏览器中看到运行的效果图了。

  在项目的bin-debug目录下面,会生成对应的swf文件,这个可以独立运行的。

  Away3d Examples的演示效果见如下视频:

http://v.youku.com/v_show/id_XMjgzMzI2MDgw.html

2011-7-8

于武汉大学

------------------------------------------------------------------

Author:一点一滴的Beer

Email /Gtalk:dreamzsm@gmail.com

From:http://www.cnblogs.com/beer

Notes:欢迎转贴,但请在页面中加个链接注明出处

original:http://www.cnblogs.com/beer/archive/2011/05/05/2037449.html

作者:一点一滴的Beer 
Email /Gtalk:dreamzsm@gmail.com 
出处:http://www.cnblogs.com/beer/ 
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,请尊重作者的劳动成果。

Web三维技术:Flash Builder+away3d平台搭建(含演示视频)的更多相关文章

  1. web安全后渗透--XSS平台搭建及使用

     xss平台搭建 1.申请一个云主机来进行建站:149.28.xx.xx 2.安装lnmp: wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO ln ...

  2. web攻击与防御技术-平台搭建与暴力破解

    平台搭建是首先安装xampp并把pikachu的压缩文件解压在HTdocs下 然后 点击后显示 安装成功 首先随便输入一些东西 然后用burpsuite抓包 对username和password字段进 ...

  3. 直播平台搭建之音视频开发:认识主流视频编码技术H.264

    H.264简介 什么是H.264?H.264是一种高性能的视频编解码技术.目前国际上制定视频编解码技术的组织有两个,一个是"国际电联",它制定的标准有H.261.H.263.H.2 ...

  4. Adobe Flash Builder 4.7 新功能详解

    Adobe Flash Builder 4.7 Beta终于公开测试了.虽然版本号只增加了.1,增强的新功能可是一点也不含糊.我们一起来看看到底有什么新功能吧!   在我看来,最大的改变是终于提供64 ...

  5. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)补遗

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 昨晚上熬夜写了[Openwrt项目开发笔记]:O ...

  6. HustOJ平台搭建

    HustOJ平台搭建非常简单,首先为了排除一些不必要的故障,可以使用阿里云的服务器更新系统盘让系统盘初始化保持在没有其他包依赖的环境下及其使用root用户. 1.针对Ubuntu14.04(根据官方文 ...

  7. 【iOS】Jenkins Gitlab持续集成打包平台搭建

    Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点: ...

  8. hadoop伪分布式平台搭建(centos 6.3)

    最近要写一个数据量较大的程序,所以想搭建一个hbase平台试试.搭建hbase伪分布式平台,需要先搭建hadoop平台.本文主要介绍伪分布式平台搭建过程. 目录: 一.前言 二.环境搭建 三.命令测试 ...

  9. LNMP平台搭建---MySQL安装篇

    在前两篇中,安装了一个基本的Web服务器,但是只能提供静态网页查看,要做成动态网站,就必须要数据库或其他编程语言支持了,这里先介绍MySQL数据库的安装. MySQL是一个开源的数据库,在互联网行业应 ...

随机推荐

  1. iOS 多张图片保存到相册问题(add multiple images to photo album)

    不知道朋友们有木有做过多图保存到系统的相册这个需求,我在用`UIImageWriteToSavedPhotosAlbum`保存图片时候,在代理回调方`didFinishSavingWithError` ...

  2. 用crontab、crond在嵌入式系统中添加定时任务

    在嵌入式系统中,定时任务通过crond和cronttab两个系统命令来联合执行. 其中crond是定时任务的守护进程,系统开始时是没有开启的.crontab主要作用是管理用户的crontab file ...

  3. HDU_2156 分数矩阵

    Problem Description             我们定义如下矩阵:            1/1 1/2 1/3            1/2 1/1 1/2            1 ...

  4. OpenCV(6)-腐蚀和膨胀

    腐蚀和膨胀属于形态学操作. 腐蚀和膨胀 腐蚀是指:将卷积核B滑过图像A,找出卷积核区域内最小像素值作为锚点像素值.这一操作可以扩大低像素值区域. 膨胀是指:将卷积核B滑过图像A,找出卷积核区域内最大像 ...

  5. 线段树(单点更新)HDU1166、HDU1742

    在上一篇博文里面,我提到了我不会线段树,现在就努力地学习啊! 今天AC一题感觉都很累,可能是状态不佳,在做HDU1166这题目时候,RE了无数次. 原因是:我的宏定义写错了,我已经不是第一犯这种错误了 ...

  6. 九度0J 1374 所有员工年龄排序

    题目地址:http://ac.jobdu.com/problem.php?pid=1374 题目描述: 公司现在要对所有员工的年龄进行排序,因为公司员工的人数非常多,所以要求排序算法的效率要非常高,你 ...

  7. IOS 学习日志 2015-3-13

    前面几天在看C ,但是没有做笔记,现在在看Objective--C ,开始做笔记,希望每一天都有成长吧 Objective--C 关键字 1 @import 导入 注意<>||" ...

  8. jsonp跨域访问详解

    jsonp是"用来跨域的" 同源策略 首先基于安全的原因,浏览器是存在同源策略这个机制的,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性. 1.随便建两个网 ...

  9. php提取背景图片

    preg_match_all('/background\s*-\s*+image\s*:\s*url\s*\("*([^"]*)"*\)/i', $content,$ma ...

  10. java中抽象类与接口的区别

    1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系.但是,一个类却可以实现多个interface. 2.在abstract class 中可以有自己 ...