cocos2dx3.17.2之梦幻西游开发日志(一)

本文记录了使用cocos2dx3.17.2引擎开发梦幻西游的过程,包括选择cocos2dx的原因、UI编辑器cocosstudio的使用、地图编辑器tiledmap的集成,以及已实现的游戏功能如角色移动、NPC交互等。文章还介绍了代码结构,分享了源码并邀请同行评审。


梦幻西游是很早很早的一个游戏了,最近时间比较多,刚好又有重拾开发这么一个游戏的想法。现在只完成很少一些功能,后面慢慢添加上去,在这里也算做一个简单的记录吧

开发环境

  1. 引擎选的是cocos2dx3.17.2,选这个一方面原因是它的轻量化,另一方向,也是自己用的时间比较多,相对比较熟悉。再有一点,是开源的,所以真有一些自己独特的想法引擎不支持的时候,也可以适当改源码哈哈。
  2. UI编辑器选的是cocosstudio,这个是cocoscreater出来之前cocos力让推的一套东西,想包含UI编辑器、地图编辑器、粒子编辑器在内的多种工具为一身的工具包,出了creater后就不再更新。这个我也是翻了一些时间才找到的较早版本
  3. 地图编辑器用的是tiledmap,这个是很早的编辑器了,功能也比较完善,至少对于我这样做2d的场景是足够用的。
  4. 其它的美术资源是从网上搞的,对于想单独写一个项目的开发者来说,资源恐怕是最头疼的事情之一了。目前为止的开发,也有一大半的时候都在四处找资源

已完成的功能

  1. 大框架搭起来,能进游戏。
  2. 做开始UI
  3. 创建角色并显示
  4. 角色可以控制改变方向(8方向)
  5. 角色可以移动并改变方向,停止后切换到原动作
  6. 显示角色名字
  7. 加载地图
  8. 加载NPC
  9. 显示NPC名字;这里将名字显示抽象到父类实现,这样NPC和角色名字的显示可以用统一的接口
  10. 显示怪物和怪物名字(这里在这儿做了迭代,把相关动作显示的内容全部抽象到mapElement父类中,使得实现更统一)
  11. 点击NPC后,屏幕上面显示目标名字
  12. 点击Monster后,屏幕上面显示目标名字
  13. 点击Monster之后点击技能,Monster会掉血,并在UI上显示出来

代码结构

游戏里现在只有2个Scene,一个是mainScene,一个是GameScene.

  1. mainScene执行登陆相关的逻辑,这里只完成了登陆按钮进行场景切换
  2. gameScene是游戏的主场景,包含了地图层跟角色层。地图层再细分是数据层、显示层叠、建筑层和精灵层。数据层现在暂时没添加,建筑层也是由于没有相关的资源未添加。精灵层现在包含了NpcList和Monster.
  3. 派生关系:从Sprite类派生出了CMapElement,这个类是所有地图上显示的元素的基类,它派生出了CDeffencer,这个执行所有的防御逻辑,保存防御属性,Deffencer派生出了Attacker,Attacker派生出了Role和Monster,Npc继承自Deffencer.

源码

源码

如果你想运行这个源码,你需要去官方下载cocos2dx3.17.2,然后创建新的工程名为hhxy,再把克隆到的代码、项目文件、资源拷贝到你的工程目录中,应该就可以运行。这个我没有测试过。
也欢迎各位大神review我的代码,提出宝贵的意见。

附图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值