本文内容:
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