扎扎实实学基础,开开心心拆游戏。
作为android小菜鸟,qiaoidea在这里记录自己从零开始学游戏的开发旅程,欢迎关注和批评指正。
游戏综述:
这是首次做游戏,先简单说下个人对于游戏模块代码实现的划分:(大致分为3个模块)
1.activty(程序UI):
负责用户界面的显示,即玩家进入打开游戏程序之后看到的画面及操作按键和显示信息等,是游戏的前端。
2.游戏视图(显示游戏的布局)
该部分是展示游戏基本内容的区域,游戏图片,任务等内容会在这里显示,提供基本的游戏功能和接口。
3游戏控制器(控制游戏逻辑)
对于游戏内容逻辑的控制实现,根据用户动作来更新游戏布局内容,控制消除/生成/得分/死亡等等逻辑功能,是游戏核心部分。
把游戏视图与逻辑划分开来,好处是显而易见的:首先结构比较清晰,以后扩展维护起来也比较方便。比如更改或美化游戏界面,只需更改视图部分;需要更改游戏规则,只需要修改控制部分,只要保证这两部分的耦合逻辑不变即可。
下边进入今天的第一个游戏,水果连连看。
水果连连看
传送门:
在百度移动应用上搜索连连看,排行第一的便是水果连连看,其下载量达到100W+
现在我们尝试下实现这款游戏:
下载该apk安装文件,解压,获取其图片资源以及音效等多媒体文件。
(一)原理篇
1.activity(UI)
游戏分为三个界面: 进入菜单menu界面,游戏界面 和 游戏完成(过关或失败)。
所以,理论上应该为3个activity来分别显示,不过menu界面从图示上看是一个简单的点击进入游戏界面,我个人觉得可以直接把所有界面放在一个布局,根据当前状态来显示UI。具体实现过程是:
用户进入程序,显示menu界面,此时游戏布局处于隐藏状态,即menu界面在可见,GameView界面不可见;