AIR game (五) 程序框架编写

本来说这套系列教程每天更新一篇的,结果时隔了很长时间都没有更新!惭愧!总结一个字懒!现在发现每天更新一篇文章确实有点小不现实,因为我每天还要编写程序,做做游戏的UI什么的,这样再写文章时间有点来不及了,所以大家多多包涵了!下面我们来继续这个话题。现在我们在使用的AIR3版本为AIR3,也就是说我们可以使用GPU加速功能。这样的话我们就可以在游戏的执行效率上提高很多。使用GPU来加速3D和2D画面。那么这里我们将使用到两个现成的,也是比较成熟的引擎,就是flare3D和starling。其中flare3D是一款3D引擎,可以轻松的建立三维交互程序,starling则是一款2D引擎,它将所有2D画面数据交与GPU加以渲染。

在编写程序之前我们应该准备好这些引擎的所有资料,以备不时之需。关于这两个引擎,我会在博客中更新相关内容的,所以大家有什么问题可以到其他版块去查看一下。

由于我们的游戏需要在2D和3D场景中进行切换,所以我们在开始的文档类中并不能编写任何可现实的内容,因为这样会引擎显示列表混乱,不利于后期处理。所以我们定义一个名称为Game的类文件,将这个类作为主题显示场景的容器,实际上它只不过继承了flash.display.Sprite这个类。在这个类中我们实例化一个2D场景和一个3D场景,在需要的时候对他们进行切换。

在当前这个游戏中,2D场景作为我们游戏的非游戏主体画面。当我们游戏开始运行的时候,再将3D画面加载进来。那么2D场景我们就需要使用starling引擎来进行编写。我们将游戏的场景定义为800*600像素,然后我们来创建2D画面!

this.mystarling = new Starling(Test,stage,new Rectangle(0,0,800,600) );
mystarling.antiAliasing= 1;
this.mystarling.start();

Test类是2D画面的主逻辑文件,你也可以把它看做是2D画面的文档类。通过对starling引擎的实例化,我们就可以执行Test中的程序。在当前这个游戏项目中,我们所有的动画全部是靠程序实现的,那么我们想制作一个动画就需要加载图像,然后进行动画渲染。那么这一个步骤我们就需要调用到大量的图像资源。所以,在这个项目中对于资源管理也是相当重要的。我们要编写一个极为简单易用的微型引擎来作为我们的资源处理设备。关于这部分内容我将在下节进行介绍。