看,这就是CrazyStorm.一个可视化的弹幕设计器.
看,这个就是CSB,我那个蹩脚的弹幕解析器:https://git.oschina.net/zyf/CSB.git
CSB这个东西是为了配合同事做飞机游戏的.开始的时候,就只是打算做一个"弹道解析"的功能.说白了就是利用这么一个现成的图形界面的编辑器,做了弹型,导出轨道文件,加载到游戏中原木原样的画出来.CrazyStorm就很强大,可以算是一个弹幕关卡编辑器了.我想做的只是能播放它里面最基础的发射器和激光的轨道.
说说CSB现在我都做了什么吧:
一个crazystrom的mbg脚本转化成csb可以读取的二进制文件的python脚本.
读取和计算发射器这个元素的轨道和子弹事件.
cocos2d-x v2系列游戏框架的绘制实现.
为什么叫CSB.
CSB是几个简拼.CS是CrazyStorm.B是Binary.为什么我没有用json或者xml或者直接去解析CrazyStorm的mbg脚本文件.因为需要引入第三方库,或者是文件太难以解析.或者是读取的过程太繁琐了.用自定义的二进制结构去读写是最直接的.简单粗暴有没有!
转换后的二进制轨道文件叫xxx.csb高端大气上档次有没有?
CSB是怎么工作的.
CSB分两个部分:libCSB和plugin.
libCSB是用来计算的.和具体的绘制没有关系.它通过一个csnode_t结构和一个update接口对plugin提供结算结果.
plugin部分不同的框架对其做出不同的处理.说框架感觉好大.比如现在我做了一个cocos2d-x v2的插件.它隐藏掉
libCSB个计算结果和刷新接口,提供简单的绑定接口实现对弹道的绘制.
感觉还是说不清,来两张图看个效果,然后,下篇博客说说我已经做了的组件:
角度自机狙
简单的发射器旋转事件