1 手机游戏开发简介
游戏的本质就是在屏幕上不断地显示和更新图片,只不过不是胡乱地更新,而是根据程序逻辑来控制。一款完整的游戏需要多方面的知识,比如游戏的创意、背景、 故事情节、游戏音效,游戏风格、游戏类型、运行速度、适配机型等。而且,游戏的开发需要策划、美工、程序、测试的协同工作和默契配合完成的。
2 游戏框架设计
首先需要一个用于显示游戏界面的视图类,接着需要构建一个整个游戏逻辑类来控制当前屏幕显示哪个界面,甚至对界面进行一些逻辑上的处理。在创建和控制了视图显示之后,要让游戏能够动起来,需要开启一个线程来实时更新视图显示界面并刷新视图。
3 地图设计
通常游戏中的地图是多个小块组成的一个完整的大地图,而组成这些小块的数据一般可以使用一个二维数组来存储,然后通过程序以最快的方式将这些地图数据对应 的小块映射到屏幕上组成一幅完整的地图。当然,这些数据也不是我们从键盘上一个个地输入进去的,一般情况下先由程序员做一个地图编辑器,在这个地图编辑器 中用鼠标点击再保存,或者是从网络上下载一些成熟的编辑器,比如用mappy这样的工具生成地图,再用脚本语言为mappy写一个应该保持成什么格式的程 序。通常地图分为45度角、俯视角和侧视角。
4 主角设计
游戏中的主角在这里成为“精灵”,当然精灵包括的范围很广,不仅仅是主角,还有npc、道具等。既然是精灵,必然有很多动画,动画本身就是将图片一帧一帧 地连接起来,循环地播放每一帧形成的。同样可以使用自己编写的精灵编辑器去编辑精灵,将精灵拆成很多部分,然后再组合起来,这样可以节省大量的空间。精灵 类的特性,每次只能使用一个图像而不是多个图像来填充屏幕,可以有好几帧,但是一次只有一个显示。
5 图层管理器
只需要将所有图层(包括地图、主角)一起添加到图层管理器中,然后设置视图查看时的位置及大小,调用图层管理器的paint方法就可以绘制出图层。绘制的顺序是按添加的反顺序,既先添加的后绘制,以免图层被覆盖之后显示不出来。
6 游戏音效
首先我们将游戏中的音效分为如下几类:背景音乐、剧情音乐、音效(动作的音效、使用道具音效、辅助音效)等。背景音乐一般需要一直播放,而剧情音乐则只需要在剧情需要的时候播放,音效则是很短小的一段。
7 游戏存档
游戏存档就是将玩家当前游戏的进度等信息存储下来,在玩家再次进入游戏时可以通过读取上次的存档来接着上次的进度继续游戏。
(1).明确需要存储的数据
首先,为了再次游戏能够顺利地转载上次的进度,需要保存主角的一些属性(包括位置,生命,攻击,防御等),还需要保存当前地图的一些属性(比如行,列,当 前层数),同样还需要保存对话的相关内容,最后需要保存游戏的整个地图数据(每一层),还有当前的音乐状态。
(2).保存数据
获取存储的数据->将数据打包到properties中->将properties写入到文件中。
(3).装载数据
打开文件->将文件流装载进properties中->通过properties.get方法得到指定标签的数据-》将得到的数据赋值给应用程序中对应的变量。
在退出游戏时,不管玩家是否保存都将自动保存下来。