开发日志系列(十四)
cocos2d-x lua binding C/C++
在我目前参与的这款无操回合卡牌手游中,客户端战斗模块是由我实现的,在项目上线之前一直都生怕出现不可逆转的设计问题,所以我把模块流程描述给美术,别的程序同事听 同时尽量写出来.这个模块几乎全部使用C++实现.
战斗流程
解析服务端战斗数据
–创建战斗场景
–创建战斗对象进入场景
–按回合播放战斗特效
–对象退出场景
–显示战斗结果
–销毁回收内存
/重播
- 战斗数据解析器(parser)
这个解析器主要工作是解析和管理战斗初始数据.除此之外不做任何事情,目前项目中一般的战斗数据长度大概是1.5kb(1200~1600字节),在按数据结构(struct)解析数据的时候需要注意 服务端和客户端 的struct定义数据位对其的问题:
#pragma pack(1) define some struct.. #pragma pack()