标题 | 基于Starling的捕鱼游戏的设计与开发 |
范文 | 摘? 要:在移动产业高速发展的今天,手机游戏已经逐渐成为人们生活中必不可少的一部分。而智能手机的出现,更是给手机游戏提供了高速发展的平台和契机。本文主要介绍了一款基于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-),女,本科,助教.研究领域:软件工程,数据 挖掘. ;?;?;?;?; 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-),女,本科,助教.研究领域:软件工程,数据 ;?;?;?;?; 挖掘. ;?;?;?;?; 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-),女,本科,助教.研究领域:软件工程,数据 ;?;?;?;?; 挖掘. ;?;?;?;?; 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-),女,本科,助教.研究领域:软件工程,数据 ;?;?;?;?; 挖掘. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。