Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zhs007/porcupine

cocos2d-x scene framework
https://github.com/zhs007/porcupine

Last synced: 8 days ago
JSON representation

cocos2d-x scene framework

Awesome Lists containing this project

README

        

# porcupine
cocos2d-x场景框架

这是一个可配置的多层场景框架,一个场景可以由多个层组成,一个角色,也是由多个层组成的。

最简单的理解就是场景分2个层,地表层和对象层,地表层包含地表地图和角色阴影,这一层是不需要排序而且不需要产生遮挡变化的,而对象层是角色和建筑层,这一层是可能有遮挡关系的,所以会需要有排序,而对象移动,其实是同时移动了2个层的节点。

上面说的是多层场景,下面说一下可配置。

这里的可配置是通过配置文件来配置,配置场景分几个层,每个层做什么用途,譬如是否需要对象排序,譬如是否是一个mask图层,mask的tile大小等等。

而且对象也可以通过配置文件配置由几个图素组成,每个图素分别位于哪个层,以及由多少动作、动作是分几个方向、帧间多少等等。

然后,可以为对象规划行走路线等。

这里面其实还牵涉到一批工具。

mask
---
因为这个例子项目是一套类似页游的整图背景,所以我们需要一组数据知道哪些区域是会和背景产生遮挡关系的。

考虑到效率需求,这部分肯定不太可能像素判断,所以我们支持tile的mask数据,为了省事,直接用了现成的tiled编辑器来编辑mask数据,这里还有一个项目专门解析tiled导出的json数据的——[tiledcli](https://github.com/zhs007/tiledcli)。

工作流
---
[tiledcli](https://github.com/zhs007/tiledcli)——这是一个简单的处理tiled导出的json数据的命令行工具。
pathcli——这是一个路径识别的工具,用来生成lin路径文件的。
[texturepackerjs](https://github.com/zhs007/texturepackerjs)——这是一个命令行的批量图片打包改名工具。

第三方库
---
cocos2dx——开源引擎。