使用Starling框架在Flash Builder里搭建第一个GPU加速的2D项目
2011-09-24 19:36
429 查看
本文内容:
Starling是Adobe发布的ActionScript 3.0框架,它构建于Flash Player 11的Stage3D API之上,将面向显卡的编程接口封装为一套可以被ActionScript开发者迅速掌握的API,让不熟悉3D环境的开发者们可以利用GPU来渲染2D项目。本文将对如何在Flash Builder 4.5里配置和搭建一个Starling项目做详细的介绍。
准备工作:
测试Starling之前,你需要先确保你的电脑显卡支持编程,如PC下的DirectX,Mac下的OpenGL。
然后下载下面的必备工具和文件:
Flash
Builder 4.5
Flex
SDK 4.5.1
playerglobal.swc
Flash
Player 11 rc (debug)
Starling
Framework
性能测试工具Stats类库
接下来在Flash Builder 4.5里,按照以下的步骤进行配置:
1,在Flash Builder里新建一个ActionScript项目。
2,右键点击项目,选择Property。
3,在项目Property中选择ActionScript Build Path
4,在Source path里添加Starling框架中的starling/src文件夹。
5,将Starling框架文件夹中的starling/media文件夹拷贝到项目文件夹下。
6,在Source path里添加项目测试工具Stats中的src文件夹。
7,将Stats的assets文件夹拷贝到项目文件夹下。
8,将下载的Flex SDK文件夹拷贝到Flash Builder的安装目录下的sdks中。
9,进入Flex SDK的文件夹,在frameworks/libs/player下面建立一个新的文件夹,命名为11.0,并将下载的playerglobal.swc(注意命名)拷贝到该文件夹下。该playerglobal.swc包含了所有Stage3D的API。
10,在项目Property中选择ActionScript Compiler。
11,在ActionScript Compiler面板的Flex SDK version中点击Configure Flex SDKs,添加刚才拷贝的Flex SDK。回到Compiler面板,选择该SDK。
12,在Adobe Flash Player options下设置Use a specific version 11.0.0,这样Flash Builder会到SDK的11.0文件夹下寻找最新的playerglobal.swc。
*注意:有些情况下在使用了新的playerglobal.swc之后,原有的Native API丢失。针对这样的问题,需要在ActionScript Builder Path下手动添加10.2下的playerglobal.swc,同时使用两个playerglobal.swc。
13,在Compiler options下的Additional arguments中添加-swf-version 13,确保Flash Builder发布正确的SWF测试版本。
14,退出项目Property面板,在项目文件夹列表中打开html-template,右键用Open with->Text Editor打开html.template.html文件。在第48行插入一行代码:params.wmode = “direct”,确保SWF打开显卡的调用功能。
这样,Starling项目的配置工作就已经完成了。
编写第一个Starling项目
Starling基于Stage3D的底层API,将Context3D,着色器,顶点、片段这些底层代码封装起来,按照ActionScript 3.0原生类的样子包装成一套每个Flash开发者都熟悉的API。比如starling.display.Sprite,starling.display.MovieClip,starling.display.Button。我们不需要了解它们是如何从Stage3D底层API里转换而来,只要按照我们原有的开发习惯,就可以很容易的把显卡资源用在新的项目上。
通过上面的配置,我们已经建立了一个ActionScript项目。首先我们需要建立一个Starling的主类,我们可以这样理解,在Starling的世界中,有一个最基本的显示舞台,所有Stage3D的东西都是被加载到这个舞台上。这个主类需要继承starling.display.Sprite:
然后在项目主应用程序中,新建一个starling.core.Starling的实例,通过下面的代码将Starling的主类Game实例化:
在Starling主类Game中,可以按照原有的开发习惯来建立显示对象,比如我打算做一个抛字母的效果,可以完全按照原来的开发思路来做。
点击查看效果
这里不对效果的开发过程做解释,非常的简单,而且不是本文的重点。我主要列举两个创建显示对象实例的代码:
创建一个图片:
创建一个文本:
如列出的代码例子可见,Starling的结构和使用方法和以往的ActionScript开发没有什么区别。由于该框架是开源框架,所以对框架的实现本质感兴趣的朋友可以自行深入探讨Stage3D的底层API。
本文例子下载:
FirstExample.zip
Starling是Adobe发布的ActionScript 3.0框架,它构建于Flash Player 11的Stage3D API之上,将面向显卡的编程接口封装为一套可以被ActionScript开发者迅速掌握的API,让不熟悉3D环境的开发者们可以利用GPU来渲染2D项目。本文将对如何在Flash Builder 4.5里配置和搭建一个Starling项目做详细的介绍。
准备工作:
测试Starling之前,你需要先确保你的电脑显卡支持编程,如PC下的DirectX,Mac下的OpenGL。
然后下载下面的必备工具和文件:
Flash
Builder 4.5
Flex
SDK 4.5.1
playerglobal.swc
Flash
Player 11 rc (debug)
Starling
Framework
性能测试工具Stats类库
接下来在Flash Builder 4.5里,按照以下的步骤进行配置:
1,在Flash Builder里新建一个ActionScript项目。
2,右键点击项目,选择Property。
3,在项目Property中选择ActionScript Build Path
4,在Source path里添加Starling框架中的starling/src文件夹。
5,将Starling框架文件夹中的starling/media文件夹拷贝到项目文件夹下。
6,在Source path里添加项目测试工具Stats中的src文件夹。
7,将Stats的assets文件夹拷贝到项目文件夹下。
8,将下载的Flex SDK文件夹拷贝到Flash Builder的安装目录下的sdks中。
9,进入Flex SDK的文件夹,在frameworks/libs/player下面建立一个新的文件夹,命名为11.0,并将下载的playerglobal.swc(注意命名)拷贝到该文件夹下。该playerglobal.swc包含了所有Stage3D的API。
10,在项目Property中选择ActionScript Compiler。
11,在ActionScript Compiler面板的Flex SDK version中点击Configure Flex SDKs,添加刚才拷贝的Flex SDK。回到Compiler面板,选择该SDK。
12,在Adobe Flash Player options下设置Use a specific version 11.0.0,这样Flash Builder会到SDK的11.0文件夹下寻找最新的playerglobal.swc。
*注意:有些情况下在使用了新的playerglobal.swc之后,原有的Native API丢失。针对这样的问题,需要在ActionScript Builder Path下手动添加10.2下的playerglobal.swc,同时使用两个playerglobal.swc。
13,在Compiler options下的Additional arguments中添加-swf-version 13,确保Flash Builder发布正确的SWF测试版本。
14,退出项目Property面板,在项目文件夹列表中打开html-template,右键用Open with->Text Editor打开html.template.html文件。在第48行插入一行代码:params.wmode = “direct”,确保SWF打开显卡的调用功能。
这样,Starling项目的配置工作就已经完成了。
编写第一个Starling项目
Starling基于Stage3D的底层API,将Context3D,着色器,顶点、片段这些底层代码封装起来,按照ActionScript 3.0原生类的样子包装成一套每个Flash开发者都熟悉的API。比如starling.display.Sprite,starling.display.MovieClip,starling.display.Button。我们不需要了解它们是如何从Stage3D底层API里转换而来,只要按照我们原有的开发习惯,就可以很容易的把显卡资源用在新的项目上。
通过上面的配置,我们已经建立了一个ActionScript项目。首先我们需要建立一个Starling的主类,我们可以这样理解,在Starling的世界中,有一个最基本的显示舞台,所有Stage3D的东西都是被加载到这个舞台上。这个主类需要继承starling.display.Sprite:
1 2 | import starling.display.Sprite; public class Game extends Sprite |
1 23 | import starling.core.Starling; ... private var myStarling:Starling; ... public function StartUp(){ myStarling = new Starling(Game, stage); //这行代码用来调节渲染的品质,值越高品质越好,但性能越低 myStarling.antiAliasing= 1; myStarling.start(); } |
点击查看效果
这里不对效果的开发过程做解释,非常的简单,而且不是本文的重点。我主要列举两个创建显示对象实例的代码:
创建一个图片:
1 23 | import starling.display.Image; import starling.textures.Texture; .... [Embed(source="xxxx.png")] private var ringClass:Class; .... //使用Texture给图片添加材质,此例的材质是一个嵌入的PNG图片。 var image:Image = new Image(Texture.fromBitmap(new ringClass())); |
1 23 | import starling.text.TextFIeld; import starling.textures.Texture; .... //创建一个TextField文本,参数分别为宽,高,内容,字体,字号,颜色等等 var textfield:TextField = new TextField(80,80,"Hello world!","Impact",50,0x0); |
本文例子下载:
FirstExample.zip
相关文章推荐
- starling-framework框架--GPU加速支持的2D Flash API!
- SSH框架网上商城项目第3战之使用EasyUI搭建后台页面框架
- 使用Yii 1.1框架搭建第一个web应用程序
- SSM框架的搭建(Spring+SpringMVC+Mybatis第一个项目的搭建)
- 框架 day80 涛涛商城项目-redis安装单机版solr,搭建搜索服务层,solrJ使用
- 【SSH网上商城项目实战03】使用EasyUI搭建后台页面框架
- 使用jQuery插件flexigrid搭建项目框架
- 【SSH 框架项目的搭建--简化版】使用注解代替xml中的<bean>,减少代码量
- MyEclipse使用Maven创建web项目+搭建SSM框架教程
- SSM框架项目搭建系列(二)—Spring第一个HelloWorld
- Win7配置CUDA并搭建基于Theano框架的GPU加速环境
- 关于使用ABP框架搭建的项目升级时需要注意的问题汇总
- 使用RadioGroup和fragment搭建项目框架填坑
- Sencha Touch入门:Sencha Touch开发环境搭建及使用 Sencha Cmd 自动创建项目框架
- NET使用ABP框架搭建博客项目(一)
- Maven项目的框架搭建步骤-转载,有几处错误,注意保留学习使用
- MyEclipse使用Maven创建web项目+搭建SSM框架教程
- 基于Stage3D的2D游戏加速框架:Starling介绍
- MyEclipse使用Maven创建web项目+搭建SSM框架教
- Windows下使用Cordova跨平台框架开发的成功的第一个android项目