《英雄去战斗》格斗类手游开发
2016-03-17 12:45
295 查看
该游戏属于动作格斗类手游,采用 cocos2dx 引擎开发, 玩家可以移动, 攻击和放技能, 动画采用 cocostudio 编辑的骨骼动画, 涉及到碰撞检测、 场景移动、 怪物行为模式、怪物 AI 等技术。
AppDelegate是入口类,从applicationDidFinishLaunching入口,通过Director设置分辨率,通过UserDefault获取游戏的设置。
为了更清楚解释游戏的代码结构,特附上游戏程序的类图,类图如下:
游戏由三个模块组成:GameScene, OptionScene, AboutScene。其中GameScene是进入游戏的主类,也是游戏的核心类,OptionScene是游戏设置类,设置背景音乐、音效,AboutScene是关于游戏类,是关于游戏的介绍。
而游戏的入口类是MainScene类,该类负责根据玩家所选的菜单分别进入不同的场景,也就是以上三个模块。
游戏的核心模块:
GamScene类:负责控制游戏的整个过程,监听玩家的操作并响应玩家的操作。该类持有GameTiledMap对象,Player对象,RoleManager对象。
GameTiledMap类:游戏的地图类,负责产生游戏地图,并且获取地图的信息,地图长、宽、是否有障碍物。
Player类:游戏中玩家类,玩家控制该类的对象行为,移动、攻击或者释放技能,该类负责执行响应的动画,并有自己的属性(生命值、攻击力、方向等等)。
RoleManager类:角色管理器,所有的碰撞检测(玩家攻击和释放技能时的碰撞检测,怪物攻击时的碰撞检测),怪物的状态变换(巡逻模式:来回走动,追击模式:追击玩家,攻击模式:靠近玩家是则攻击等等)。而RoleManager类里面持有boss对象(Monster类型),monster对象,同时绑定有player类对象,gameTiledMap类对象,有了这些对象就可以检测碰撞,并执行响应的逻辑。
Monster类:游戏中怪物类,boss也是该类对象,只是属性不同。
Entity类:Player和Monster的父类,有玩家和怪物的基本属性,还有共有的方法。
游戏截图如下:
AppDelegate是入口类,从applicationDidFinishLaunching入口,通过Director设置分辨率,通过UserDefault获取游戏的设置。
为了更清楚解释游戏的代码结构,特附上游戏程序的类图,类图如下:
游戏由三个模块组成:GameScene, OptionScene, AboutScene。其中GameScene是进入游戏的主类,也是游戏的核心类,OptionScene是游戏设置类,设置背景音乐、音效,AboutScene是关于游戏类,是关于游戏的介绍。
而游戏的入口类是MainScene类,该类负责根据玩家所选的菜单分别进入不同的场景,也就是以上三个模块。
游戏的核心模块:
GamScene类:负责控制游戏的整个过程,监听玩家的操作并响应玩家的操作。该类持有GameTiledMap对象,Player对象,RoleManager对象。
GameTiledMap类:游戏的地图类,负责产生游戏地图,并且获取地图的信息,地图长、宽、是否有障碍物。
Player类:游戏中玩家类,玩家控制该类的对象行为,移动、攻击或者释放技能,该类负责执行响应的动画,并有自己的属性(生命值、攻击力、方向等等)。
RoleManager类:角色管理器,所有的碰撞检测(玩家攻击和释放技能时的碰撞检测,怪物攻击时的碰撞检测),怪物的状态变换(巡逻模式:来回走动,追击模式:追击玩家,攻击模式:靠近玩家是则攻击等等)。而RoleManager类里面持有boss对象(Monster类型),monster对象,同时绑定有player类对象,gameTiledMap类对象,有了这些对象就可以检测碰撞,并执行响应的逻辑。
Monster类:游戏中怪物类,boss也是该类对象,只是属性不同。
Entity类:Player和Monster的父类,有玩家和怪物的基本属性,还有共有的方法。
游戏截图如下:
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- 解析C++中派生的概念以及派生类成员的访问属性