- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅议基于C语言手机游戏开发模式探究
浅议基于C语言手机游戏开发模式探究 【摘要】本游戏开发涉及了游戏开发的基本环节:游戏素材的收集与制作、游戏流程的设计、代码编写和游戏测试,并在本文中都有较详细描述。
【关键词】C语言;SQL server 2005;B/S结构
本文研究了游戏设计的基本方法和实现过程,并研究编写出一个能够积分、难度分级、对射等具有一定娱乐性的射击对战型游戏程序。游戏是一个精度要求很高的程序系统,一个实时运行的最终作品,每秒都会运行成千上万行程序,碰撞检测、人工智能、绘图事件、键盘响应、图片和音乐提取等都会以很高的频率在后台运行并且等待响应,若有一点差错都有可能导致程序出现错误甚至死循环。一个成功的游戏融合了动画制作、音效处理、键盘响应、碰撞检测以及人工智能等相关的技术,每一项都需要花一定的时间去掌握和熟悉。
B/S结构,即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。B/S结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。
C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。本设计主要使用C语言完成。
按照设计结构和功能的特点可将系统分为2大模块:主窗体模块和菜单功能模块。
一、主窗体模块
主窗体是运行游戏的主界面,应具备显示游戏画面、播放音效、响应玩家
输入事件以及运行游戏的逻辑代码等功能。主窗体的代码包括游戏设备和配置的初始化、游戏精灵的实现、游戏引擎的使用等等。
游戏的流程图如图1所示:
二、菜单功能模块
目前,整个游戏设置了“开始”菜单,该游戏所设置的“开始”菜单,是当玩家点击“开始”后,整个游戏所会出现的状态进入开始,当游戏已开始后,“开始”按钮会自动变为“暂停”,如果“点击”,则游戏的主机会是暂停状态。
该游戏的开发环境主要是Microsoft Visual Studio 2008,安装Microsoft Visual Studio 2008比较简单,到网上下一个安装包,直接安装就可以了。
游戏的制作离不开图片,不管是背景图片还是所选择的物体图片,我们都需
要采集以及制作,下面将介绍一下图片的采集和制作。本游戏的图片大部分都是在网上找的,在做游戏之前我们应把游戏导入“horizon”,然而这个程序在安装“Microsoft Visual Studio 2008”的时候会自动生成的,也由此证明了这些是一个配套安装包,当图片导入成功后会生成一个以“.igre”为后缀名的文件,然而这个文件在编程过程中所起的作用就是怎样运用它来生成整个游戏的界面。
下面对本游戏主要设计内容进行详细介绍。
三、创建游戏界面(界面略)
代码如下:
static HZApp sampleApp = {
{1,0,0},
“jing “, //游戏界面的命名
900,
480, //界面大小
init,
quit,
};
static HZStream* stream = 0;
int init(void)
{……}
四、精灵的定义
精灵是游戏的核心,精灵的定义关系到游戏开发的成功与否。该游戏中精灵着很多种精灵。在游戏中需要定义的精灵有主机、敌机、背景图片、射击的子弹、爆炸的焰火等等,为适应游戏剧情的需要,精灵在定义中存在属性、方法等的重载和覆盖以及变量、函数、过程的定义等。该部分代码略。
五、精灵的初始化
精灵的初始化是指创建精灵并设置精灵参数。包括设定精灵实例化后在屏幕上的初始坐标、显示效果等,例如游戏开始后,战机是静止悬浮在屏幕的上方。精灵的初始化函数通常是写在精灵的创建事件中。
在本游戏中,通用类是很多精灵类的父类,它的初始化尤为重要。该通用类的初始化代码如下:
static int start()
{
bm = bm_create(buttonconfig, _countof(buttonconfig));
ball_info = (BallInfo*)HZAllocate (sizeof(BallInfo));
ball_info-next = NULL;
HintBlast = HZSpriteCreate(“HintBlast”,300,300,1); //定义精灵的位置
…………..
background = HZSpriteCreate (“Back”,340, 240
文档评论(0)