APP下载

基于Starling的捕鱼游戏的设计与开发

2014-12-13俞琳琳

软件工程 2014年12期
关键词:数据文件手机游戏设置

摘  要:在移动产业高速发展的今天,手机游戏已经逐渐成为人们生活中必不可少的一部分。而智能手机的出现,更是给手机游戏提供了高速发展的平台和契机。本文主要介绍了一款基于Starling框架的安卓平台的捕鱼游戏的开发过程。首先,介绍了游戏的策划与需求分析,其次,重点介绍了游戏的主要模块的设计与实现,最后,介绍了游戏的发布及配置方法。

关键词:Android;Adobe AIR;ActionScript3.0;Starling

中图分类号:TP311.52           文献标识码:A

1   引言(Introduction)

手机游戏作为人们重要的娱乐方式之一,近年来,伴随着移动网络和移动终端性能的不断提高与完善,得到非常迅猛的发展,俨然成为了移动行业的一个“金矿”[1]。越来越多的厂商渗透入手机游戏领域,手机游戏的营销额以及使用人数也逐年递增。2010年手机游戏市场规模已经达到25亿元。据调查,网民中,玩手机游戏的用户比例达94.7%,从而反映出手机游戏之火暴。

2   系统实现技术(System realizing technology)

Starling是在Stage3D APIs基础上开发的一种ActionScript3.0 2D框架(可用于Flash Player 11和Adobe AIR 3的桌面)[2]。Starling是为游戏开发设计的,但是它也可以被应用于其他程序。Starling的工作方式也很简单。由于Starling是基于Stage3D的API开发的,所以它的驱动关系位于Stage3D之上,而Stage3D有能力去控制OpenGL、DirectX这些电脑显卡驱动或OpenGL ES2这些手机显卡驱动,最终由这些显卡驱动程序去驱动GPU工作[3]。Starling驱动GPU的方式如图1所示。

图1 驱动关系图

Fig.1 Driving diagram

通过Starling的使用,可以大大简化动画的创建过程,只要提供MovieClip每一帧的纹理素材给Starling MovieClip即可。Starling可以减少开发难度并可以很快地写出使用GPU加速的应用程序而不必接触那些复杂的底层Stage3D API。这使其成为采用Flash AS开发游戏所必不可少的部分。

3   系统功能设计(System function design)

该游戏实现捕鱼类游戏的所有基本功能,同时,为了满足玩家的个人需求,在游戏中加入了重力感应的船只移动功能,从而使游戏玩法更新颖、更加吸引玩家[4]。良好的用户界面,能够在视觉上吸引玩家。主界面主要包括背景图片、船只、人物、武器、暂停按钮、商店按钮、金钱和捕鱼数显示、鱼类显示。主要功能需求设计用例图如图2所示。

图2 游戏功能用例图

Fig.2 Use case diagram of game features

4  详细设计与实现(Detailed design and

implementation)

Main作为Starling的文档类,用于启动Starling。Game作为Starling的入口类,负责创建游戏的主界面。各个类之间通过按钮点击操作控制进行相互之间的调度,从而实现游戏整体功能。

4.1   Starling框架使用

Starling框架使用很简单,Starling充分考虑到其使用时的简单性,我们只需要在工程中添加Starling的类库,即可调用其相关部件。Starling类库详细添加方法如下:单击工程的FLA文件中的脚本设置。打开脚本设置后,只需在库路径中将Starling的类库Starling.swc添加即可,如图3所示。

图3 脚本设置

Fig.3 Script settings

至此,Starling的类库已经包含到工程中,在下面的开发中就可以在类中调用Starling框架提供的各种控件。启动Starling的具体代码如下:

public class Main extends MovieClip {

private var mStarling:Starling;

public function Main() {

stage.align = StageAlign.TOP_LEFT;

//画面无缩放

stage.scaleMode=StageScaleMode.NO_BORDER;

//设置程序入口类,创建Starling

mStarling=new Starling(Game,stage);

//设置画面渲染类型

mStarling.antiAliasing=1;

//启动Starling

mStarling.start();

}

}

启动Starling后,项目的渲染将由Starling来控制,这样会大大减少项目对机器性能的需求,提高工作效率。

4.2   资源加载

该游戏使用TexturePacker将图片资源合并成一张大图片,图片的加载需要编写一个专门的资源加载类来控制。首先需要将TexturePacker生成的数据文件导入到工程中。在主文件中打开目标设置,然后将数据文件添加到包括的文件列表中,如图4所示。

图4 添加数据文件

Fig.4 Add data file

图片数据文件添加到项目中就可以编写加载资源的类了。使用URLRequest获取XML文件地址,再通过URLLoader加载XML的内容,再通过大图片以及数据的结合定位到对应的小图片。

5   结论(Conclusion)

通过游戏的界面测试中相应的功能测试,游戏设计完成度良好,达到了预期需求。基本做到美观、友好、便于操作,良好实现游戏的可玩性,能够很好的适应玩家的入手,但是在整个设计中仍存在着交互模式过少、缺乏明显的亮点等不足,会在以后的研究中改进。

参考文献(References)

[1] 周颖,沈艳秋.手机发展史[J].科技信息,2010,(33):599-600.

[2] 王友钊,等.ANDROID系统开发与实践[M].北京:清华大学出

版社,2013.

[3] 斯白[加].ActionScript3.0游戏设计基础(第二版)[M].北京:电

子工业出版社,2013.

[4] 布罗西耶[美].Android移动应用开发:基于Adobe AIR[M].

北京:清华大学出版社,2012.

作者简介:

俞琳琳(1980-),女,本科,助教.研究领域:软件工程,数据

挖掘.endprint

; ; ; ; ; stage.align = StageAlign.TOP_LEFT;

; ; ; ; ; ; //画面无缩放

; ; ; ; stage.scaleMode=StageScaleMode.NO_BORDER;

; ; ; ; ; ; //设置程序入口类,创建Starling

; ; ; mStarling=new Starling(Game,stage);

; //设置画面渲染类型

; ; mStarling.antiAliasing=1;

; ; ; ; ; ; ; //启动Starling

; ; ; ; mStarling.start();

;}

}

启动Starling后,项目的渲染将由Starling来控制,这样会大大减少项目对机器性能的需求,提高工作效率。

4.2 ; ; 资源加载

该游戏使用TexturePacker将图片资源合并成一张大图片,图片的加载需要编写一个专门的资源加载类来控制。首先需要将TexturePacker生成的数据文件导入到工程中。在主文件中打开目标设置,然后将数据文件添加到包括的文件列表中,如图4所示。

;图4 添加数据文件

; ; ; ; ; ; ; ; ; ; ; ; ; Fig.4 Add data file

图片数据文件添加到项目中就可以编写加载资源的类了。使用URLRequest获取XML文件地址,再通过URLLoader加载XML的内容,再通过大图片以及数据的结合定位到对应的小图片。

5 ; ; 结论(Conclusion)

通过游戏的界面测试中相应的功能测试,游戏设计完成度良好,达到了预期需求。基本做到美观、友好、便于操作,良好实现游戏的可玩性,能够很好的适应玩家的入手,但是在整个设计中仍存在着交互模式过少、缺乏明显的亮点等不足,会在以后的研究中改进。

参考文献(References)

[1] 周颖,沈艳秋.手机发展史[J].科技信息,2010,(33):599-600.

[2] 王友钊,等.ANDROID系统开发与实践[M].北京:清华大学出

; ; ; ; ; 版社,2013.

[3] 斯白[加].ActionScript3.0游戏设计基础(第二版)[M].北京:电

; ; ; ; ; 子工业出版社,2013.

[4] 布罗西耶[美].Android移动应用开发:基于Adobe AIR[M].

; ; ; ; ; 北京:清华大学出版社,2012.

作者简介:

俞琳琳(1980-),女,本科,助教.研究领域:软件工程,数据

; ; ; ; ; 挖掘.endprint

; ; ; ; ; stage.align = StageAlign.TOP_LEFT;

; ; ; ; ; ; //画面无缩放

; ; ; ; stage.scaleMode=StageScaleMode.NO_BORDER;

; ; ; ; ; ; //设置程序入口类,创建Starling

; ; ; mStarling=new Starling(Game,stage);

; //设置画面渲染类型

; ; mStarling.antiAliasing=1;

; ; ; ; ; ; ; //启动Starling

; ; ; ; mStarling.start();

;}

}

启动Starling后,项目的渲染将由Starling来控制,这样会大大减少项目对机器性能的需求,提高工作效率。

4.2 ; ; 资源加载

该游戏使用TexturePacker将图片资源合并成一张大图片,图片的加载需要编写一个专门的资源加载类来控制。首先需要将TexturePacker生成的数据文件导入到工程中。在主文件中打开目标设置,然后将数据文件添加到包括的文件列表中,如图4所示。

;图4 添加数据文件

; ; ; ; ; ; ; ; ; ; ; ; ; Fig.4 Add data file

图片数据文件添加到项目中就可以编写加载资源的类了。使用URLRequest获取XML文件地址,再通过URLLoader加载XML的内容,再通过大图片以及数据的结合定位到对应的小图片。

5 ; ; 结论(Conclusion)

通过游戏的界面测试中相应的功能测试,游戏设计完成度良好,达到了预期需求。基本做到美观、友好、便于操作,良好实现游戏的可玩性,能够很好的适应玩家的入手,但是在整个设计中仍存在着交互模式过少、缺乏明显的亮点等不足,会在以后的研究中改进。

参考文献(References)

[1] 周颖,沈艳秋.手机发展史[J].科技信息,2010,(33):599-600.

[2] 王友钊,等.ANDROID系统开发与实践[M].北京:清华大学出

; ; ; ; ; 版社,2013.

[3] 斯白[加].ActionScript3.0游戏设计基础(第二版)[M].北京:电

; ; ; ; ; 子工业出版社,2013.

[4] 布罗西耶[美].Android移动应用开发:基于Adobe AIR[M].

; ; ; ; ; 北京:清华大学出版社,2012.

作者简介:

俞琳琳(1980-),女,本科,助教.研究领域:软件工程,数据

; ; ; ; ; 挖掘.endprint

; ; ; ; ; stage.align = StageAlign.TOP_LEFT;

; ; ; ; ; ; //画面无缩放

; ; ; ; stage.scaleMode=StageScaleMode.NO_BORDER;

; ; ; ; ; ; //设置程序入口类,创建Starling

; ; ; mStarling=new Starling(Game,stage);

; //设置画面渲染类型

; ; mStarling.antiAliasing=1;

; ; ; ; ; ; ; //启动Starling

; ; ; ; mStarling.start();

;}

}

启动Starling后,项目的渲染将由Starling来控制,这样会大大减少项目对机器性能的需求,提高工作效率。

4.2 ; ; 资源加载

该游戏使用TexturePacker将图片资源合并成一张大图片,图片的加载需要编写一个专门的资源加载类来控制。首先需要将TexturePacker生成的数据文件导入到工程中。在主文件中打开目标设置,然后将数据文件添加到包括的文件列表中,如图4所示。

;图4 添加数据文件

; ; ; ; ; ; ; ; ; ; ; ; ; Fig.4 Add data file

图片数据文件添加到项目中就可以编写加载资源的类了。使用URLRequest获取XML文件地址,再通过URLLoader加载XML的内容,再通过大图片以及数据的结合定位到对应的小图片。

5 ; ; 结论(Conclusion)

通过游戏的界面测试中相应的功能测试,游戏设计完成度良好,达到了预期需求。基本做到美观、友好、便于操作,良好实现游戏的可玩性,能够很好的适应玩家的入手,但是在整个设计中仍存在着交互模式过少、缺乏明显的亮点等不足,会在以后的研究中改进。

参考文献(References)

[1] 周颖,沈艳秋.手机发展史[J].科技信息,2010,(33):599-600.

[2] 王友钊,等.ANDROID系统开发与实践[M].北京:清华大学出

; ; ; ; ; 版社,2013.

[3] 斯白[加].ActionScript3.0游戏设计基础(第二版)[M].北京:电

; ; ; ; ; 子工业出版社,2013.

[4] 布罗西耶[美].Android移动应用开发:基于Adobe AIR[M].

; ; ; ; ; 北京:清华大学出版社,2012.

作者简介:

俞琳琳(1980-),女,本科,助教.研究领域:软件工程,数据

; ; ; ; ; 挖掘.endprint

猜你喜欢

数据文件手机游戏设置
中队岗位该如何设置
让手机游戏成为传统文化的传播新渠道
手机游戏对大学生的负面影响及对策分析
数据文件恢复专题问答
数据文件安全管控技术的研究与实现
SQL数据文件恢复工具
本刊栏目设置说明
中俄临床医学专业课程设置的比较与思考
Tekla Structure数据文件交互格式分析
地铁出入段线转换轨设置