123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394 |
- //--------------------------------------------------------------------------------------------------------------
- //指令说明
- //--------------------------------------------------------------------------------------------------------------
- 格式:
- 所有指令名称由一对<>尖括号包围,<代表数据块,
- 该脚本是对最后生成数据格式的一种约定。
- 例如:
- 有如下约定
- <DATA>
- data[<INDEX>] = <DATAS>;
- </DATA>
- 并且程序里和<DATA>对应的有3个数据块,那么最后生成的数据是
- data[0] = ....;
- data[1] = ....;
- data[2] = ....;
- //--------------------------------------------------------------------------------------------------------------
- //变量列表:
- //--------------------------------------------------------------------------------------------------------------
- <VAR_FILE_NAME> /* 当前工程文件名 */
- <VAR_PATH_NAME> /* 当前工程路径 */
-
- //--------------------------------------------------------------------------------------------------------------
- //函数列表:
- //--------------------------------------------------------------------------------------------------------------
- // 函数掉用时,函数体和参数中间不能出现空格。
- <CALL SUB STRING><STRING,OFFSET> /* 得到子字符串 */
- <CALL SUB STRING><STRING,OFFSET,LENGTH> /* 得到子字符串 */
- <CALL PARSE TO INT><STRING> /* 字符串转换成数字 */
- <CALL PARSE TO DECIMAL><STRING> /* 字符串转换成十进制数字(带小数点) */
- <CALL ADD><ARG0,ARG1>
- <CALL SUB><ARG0,ARG1>
- <CALL MUL><ARG0,ARG1>
- <CALL DIV><ARG0,ARG1>
- //--------------------------------------------------------------------------------------------------------------
- //头指令列表:
- //--------------------------------------------------------------------------------------------------------------
- <OUTPUT> ... /* 后面跟输出的文件名(绝对目录或者当前工作空间的相对目录) */
-
- <IMAGE_OUTPUT> ... /* 图片输出目录(绝对目录或者当前工作空间的相对目录) */
- <IMAGE_TYPE> ... /* 输出图片格式(png bmp gif jpg) */
- <IMAGE_TILE> ... /* 散图输出 开启(true) */
- <IMAGE_GROUP> ... /* 整图输出 开启(true) */
- <FORMAT_NUMBER_ARRAY_1D> <>, /* 输出的1维数字数组格式 <> 为元素占用,当前输出格式为 (a,b,c,d,...) */
- <FORMAT_STRING_ARRAY_1D> "<>", /* 输出的1维字符数组格式 <> 为元素占用,格式说明同上*/
- <FORMAT_ARRAY_1D> <>, /* 输出的1维数组格式 <> 为元素占用 */
- <FORMAT_ARRAY_2D> {<>}, /* 输出的2维数组格式 <> 为元素占用,当前输出格式为 ({a1,b1,c1,...},{a2,b2,c2,...},{a2,b2,c2,...}...) */
- <FIXED_STRING_ARRAY> byte,(char,)/* 是否在输出数组的时候指定字符串字节长度 (空)=不指定 (非空)=byte(分隔符) 或 char(分隔符) eg: zooe -> [byte count],zooe (,为分隔符) ,*/
- //--------------------------------------------------------------------------------------------------------------
- <RESOURCE> /* 资源数据块 开始 */
- //--------------------------------------------------------------------------------------------------------------
- <RES_IMAGES_COUNT> /*(int) 资源里总共的图片组数量 */
- <IMAGES> /* 图片组数据块 开始 */
-
- <KEEP> ...
- <IGNORE> ... /*忽略指定名字的图片组,后面跟图片组名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
- <IGNORE_NULL_CLIP> ... /* (true or false)忽略空块 */
-
- <IMAGES_INDEX> /*(int) 该图片组的编号*/
- <NAME> /*(str) 该图片组的名称 */
- <COUNT> /*(int) 该图片组包含的图块数量,包含空图 */
-
- <OUTPUT_IMAGE_TYPE> /**自定义此图片组以tile格式或group格式,null为继承头指令定义。*/
-
- <CLIP> /* 每一个图片块的数据,每一个定义了每个图块在原图中的范围 */
- <DATA> /*(str) 数据*/
- <INDEX> /*(int) 当前是第几块 */
- <X> /*(int) 当前Clip在整图位置的 X */
- <Y> /*(int) 当前Clip在整图位置的 Y */
- <W> /*(int) 当前Clip的 宽 */
- <H> /*(int) 当前Clip的 高 */
- </CLIP> /* 图片切块数据块结束 */
-
- <APPEND_DATA> /*(str[]) 附加数据 ,以字符串数组形式输出 */
-
- </IMAGES> /* 图片组数据块 结束 */
-
- //--------------------------------------------------------------------------------------------------------------
- <RES_MAP_COUNT> /*(int) 资源里总共的地图数量 */
-
- <MAP> /* 地图数据块 开始 */
-
- <KEEP> ...
- <IGNORE> ... /*忽略指定名字的地图,后面跟地图名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
-
- <MAP_INDEX> /*(int) 该地图 编号*/
- <NAME> /*(str) 该地图 名字 */
- <IMAGES_NAME> /*(str) 该地图 使用的图片组名字 */
- <X_COUNT> /*(int) 该地图 水平格子数量 */
- <Y_COUNT> /*(int) 该地图 垂直格子数量 */
- <CELL_W> /*(int) 该地图 每格宽度 */
- <CELL_H> /*(int) 该地图 每格高度 */
- <CD_PART_COUNT> /*(int) 该地图 碰撞部件数量 */
- <CD_PART> /* 碰撞部件 开始 */
- <INDEX> /*(int) 该部件 号码 */
- <TYPE> /*(str) 该部件 类型( rect 或 line ) */
- <MASK> /*(int32) 该部件 判定值 */
- <X1> /*(int) 该部件 第一点 X位置 (矩形左上角点 或 线的第一点)*/
- <Y1> /*(int) 该部件 第一点 Y位置 (矩形左上角点 或 线的第一点)*/
- <X2> /*(int) 该部件 第二点 X位置 (矩形右下角点 或 线的第二点)*/
- <Y2> /*(int) 该部件 第二点 Y位置 (矩形右下角点 或 线的第二点)*/
- <W> /*(int) 该部件 宽(快速排斥矩形)*/
- <H> /*(int) 该部件 高(快速排斥矩形)*/
- </CD_PART> /* 碰撞部件 结束 */
- <LAYER>
- <INDEX> /**图层号*/
- <TILE_MATRIX> /*(int)[][] 地图图象二维数组 格式为 matrix[y][x] = {x0y0,x1y0,x2y0,...},{x0y1,x1y1,x2y1,...},... 图片tile id) */
- <FLIP_MATRIX> /*(int)[][] 地图翻转二维数组 格式为 matrix[y][x] = {x0y0,x1y0,x2y0,...},{x0y1,x1y1,x2y1,...},... 翻转方式 */
- <FLAG_MATRIX> /*(int)[][] 地图碰撞二维数组 格式为 matrix[y][x] = {x0y0,x1y0,x2y0,...},{x0y1,x1y1,x2y1,...},... 数据为碰撞部件号码 */
- </LAYER>
-
- <APPEND_DATA> /*(str[]) 附加数据 ,以字符串数组形式输出 */
-
- </MAP> /* 地图数据块 结束 */
-
- //--------------------------------------------------------------------------------------------------------------
-
- <RES_SPRITE_COUNT> /*(int) 资源里总共的精灵数量 */
-
- <SPRITE> /* 精灵数据块 开始 */
-
- <KEEP> ...
- <IGNORE> ... /*忽略指定名字的精灵,后面跟精灵名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
-
- <SPR_INDEX> /*(int) 该精灵 编号*/
- <NAME> /*(str) 该精灵 名字 */
- <IMAGES_NAME> /*(str) 该精灵 使用的图片组名字 */
-
- <SCENE_PART_COUNT> /*(int) 该精灵 帧部件数量 */
- <SCENE_PART> /* 帧部件 开始 */
- <INDEX> /*(int) 该部件 号码 */
- <TILE> /*(int) 该部件 图片索引 */
- <X> /*(int) 该部件 X位置 */
- <Y> /*(int) 该部件 Y位置 */
- <TRANS> /*(int) 该部件 图片翻转方式 */
- </SCENE_PART> /* 帧部件 结束 */
- <SCENE_FRAME_COUNT> /*(int) 该精灵 帧数量 */
- <SCENE_FRAME> /* 帧 开始 */
- <INDEX> /*(int) 该帧 号码*/
- <DATA_SIZE> /*(int) 该帧 组合部件数量*/
- <DATA> /*(int)[] 该帧 组合部件数组(分隔符为",")*/
- </SCENE_FRAME> /* 帧 结束 */
- <CD_PART_COUNT> /*(int) 该精灵 碰撞部件数量 */
- <CD_PART> /* 碰撞部件 开始 */
- <INDEX> /*(int) 该部件 号码 */
- <TYPE> /*(str) 该部件 类型( rect 或 line ) */
- <MASK> /*(int32) 该部件 判定值*/
- <X1> /*(int) 该部件 第一点 X位置 (矩形左上角点 或 线的第一点)*/
- <Y1> /*(int) 该部件 第一点 Y位置 (矩形左上角点 或 线的第一点)*/
- <X2> /*(int) 该部件 第二点 X位置 (矩形右下角点 或 线的第二点) */
- <Y2> /*(int) 该部件 第二点 Y位置 (矩形右下角点 或 线的第二点)*/
- <W> /*(int) 该部件 宽(快速排斥矩形)*/
- <H> /*(int) 该部件 高(快速排斥矩形)*/
- </CD_PART> /* 碰撞部件 结束 */
- <CD_FRAME_COUNT> /*(int) 该精灵 碰撞帧数量 */
- <CD_FRAME> /* 碰撞帧 开始 */
- <INDEX> /*(int) 该碰撞帧 号码*/
- <DATA_SIZE> /*(int) 该碰撞帧 组合部件数量*/
- <DATA> /*(int)[] 该碰撞帧 组合部件数组(分隔符为",")*/
- </CD_FRAME> /* 碰撞帧 结束 */
-
- <ANIMATE_COUNT> /*(int) 该精灵 动画数量 */
- <FRAME_COUNTS> /*(int)[] 该精灵 每个动画帧数量数组(分隔符为",")*/
- <FRAME_NAME> /*(str)[] 该精灵 每个动画的名字数组(分隔符为",")*/
- <FRAME_ANIMATE> /*(int)[][] 该精灵 图片动画序列二维数组 格式为 frame[animate count][frame] = {a0f0,a0f1,a0f2,...},{a1f0,a1f1,a1f2,...},...数据为帧号码*/
-
- <COMPLEX_MODE> /**是否启用混合模式*/
- <FRAME_ALPHA> /*(float)[][] 所有帧alpha */
- <FRAME_ROTATE> /*(float)[][] 所有帧rotate */
- <FRAME_SCALE_X> /*(float)[][] 所有帧scalex */
- <FRAME_SCALE_Y> /*(float)[][] 所有帧scaley */
- <FRAME_SHEAR_X>
- <FRAME_SHEAR_Y>
-
- <FRAME_CD_MAP> /*(int)[][] 该精灵 地图碰撞序列二维数组 格式为 frame[animate count][frame] = {a0f0,a0f1,a0f2,...},{a1f0,a1f1,a1f2,...},...数据为碰撞帧号码*/
- <FRAME_CD_ATK> /*(int)[][] 该精灵 攻击碰撞序列二维数组 格式为 frame[animate count][frame] = {a0f0,a0f1,a0f2,...},{a1f0,a1f1,a1f2,...},...数据为碰撞帧号码*/
- <FRAME_CD_DEF> /*(int)[][] 该精灵 防御碰撞序列二维数组 格式为 frame[animate count][frame] = {a0f0,a0f1,a0f2,...},{a1f0,a1f1,a1f2,...},...数据为碰撞帧号码*/
- <FRAME_CD_EXT> /*(int)[][] 该精灵 其他碰撞序列二维数组 格式为 frame[animate count][frame] = {a0f0,a0f1,a0f2,...},{a1f0,a1f1,a1f2,...},...数据为碰撞帧号码*/
-
- <APPEND_DATA> /*(str[]) 附加数据 ,以字符串数组形式输出 */
-
- </SPRITE> /* 精灵数据块 结束 */
-
- //--------------------------------------------------------------------------------------------------------------
- </RESOURCE> /* 资源数据块 结束 */
- //--------------------------------------------------------------------------------------------------------------
- //--------------------------------------------------------------------------------------------------------------
- <LEVEL> /* 关卡数据块 开始*/
- //--------------------------------------------------------------------------------------------------------------
-
-
- <LEVEL_WORLD_COUNT> /*(int) 总共场景数量 */
- <WORLD> /* 场景数据块 开始 */
-
- <KEEP> ...
- <IGNORE> ... /*忽略指定名字的场景,后面跟场景名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
-
- <WORLD_INDEX> /*(int) 该场景 编号*/
- <NAME> /*(str) 该场景 名字 */
- <DATA> /*(str[]) 该场景 数据 ,以字符串数组形式输出 */
- <GRID_W> /*(int) 该场景 网格宽 */
- <GRID_H> /*(int) 该场景 网格高 */
- <GRID_X_COUNT> /*(int) 该场景 横向网格数*/
- <GRID_Y_COUNT> /*(int) 该场景 纵向网格数*/
- <WIDTH> /*(int) 该场景 宽*/
- <HEIGHT> /*(int) 该场景 高*/
-
- <TERRAIN> /*(int[]) 该场景地形数据 block[x][y] == TERRAIN[x*xcount+y] */
-
- <UNIT_MAP_COUNT> /*(int) 该场景 包含的地图数量 */
- <UNIT_MAP> /* 场景地图 开始 */
-
- <KEEP_MAP> ...
- <IGNORE_MAP> ... /*忽略指定名字的地图,后面跟地图名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
-
- <INDEX> /*(int) 当前地图 号码 */
- <MAP_NAME> /*(str) 当前地图 名字 */
- <MAP_DATA[]> /*(str[]) 当前地图 数据 ,以字符串数组形式输出*/
- <IDENTIFY> /*(str) 当前地图 类型 */
- <X> /*(int) 当前地图 场景中X位置 */
- <Y> /*(int) 当前地图 场景中Y位置 */
- <SUPER> /*(str) 当前地图 用的图片组 */
- <PRIORITY> /*(int) 优先级 */
- </UNIT_MAP> /* 场景地图 结束 */
-
- <UNIT_SPRITE_COUNT> /*(int) 该场景 包含的精灵数量 */
- <UNIT_SPRITE> /* 场景精灵 开始 */
-
- <KEEP_SPR> ...
- <IGNORE_SPR> ... /*忽略指定名字的精灵,后面跟精灵名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
-
- <INDEX> /*(int) 当前精灵 号码 */
- <SPR_NAME> /*(str) 当前精灵 名字 */
- <SPR_DATA> /*(str[]) 当前精灵 数据 ,以字符串数组形式输出*/
- <IDENTIFY> /*(str) 当前精灵 类型 */
- <ANIMATE_ID> /*(int) 当前精灵 动画号 */
- <FRAME_ID> /*(int) 当前精灵 帧号 */
- <X> /*(int) 当前精灵 场景中X位置 */
- <Y> /*(int) 当前精灵 场景中Y位置 */
- <SUPER> /*(str) 当前精灵 用的图片组 */
- <PRIORITY> /*(int) 优先级 */
- </UNIT_SPRITE> /* 场景精灵 结束*/
-
- <UNIT_IMAGE_COUNT>
- <UNIT_IMAGE>
-
- <KEEP_IMG> ...
- <IGNORE_IMG> ...
-
- <INDEX>
- <IMG_NAME>
- <IMG_DATA>
- <IDENTIFY>
- <TILE_ID>
- <ANCHOR>
- <X>
- <Y>
- <PRIORITY>
- <TRANS>
- </UNIT_IMAGE>
-
-
- <WAYPOINT_COUNT> /*(int) 该场景 包含的路点数量 */
- <WAYPOINT> /* 路点数据 开始 */
- <INDEX> /*(int) 该路点 号码 */
- <PATH_DATA> /*(str[]) 该路点 数据 ,以字符串数组形式输出*/
- <X> /*(int) 该路点 场景中X位置*/
- <Y> /*(int) 该路点 场景中Y位置*/
- </WAYPOINT> /* 路点数据 结束*/
-
- <WAYPOINT_LINK> /* 路径数据 开始*/
- <INDEX> /*(int) 该路径 号码*/
- <START> /*(int) 该路径 起始路点号码*/
- <END> /*(int) 该路径 结束路点号码*/
- </WAYPOINT_LINK> /* 路径数据 结束*/
-
- <REGION_COUNT> /*(int) 该场景 包含的区域数量 */
- <REGION> /* 区域数据 开始 */
- <INDEX> /*(int) 该区域 号码 */
- <REGION_DATA> /*(str[]) 该区域 数据 ,以字符串数组形式输出 */
- <X> /*(int) 该区域 在场景中X位置 */
- <Y> /*(int) 该区域 在场景中Y位置 */
- <W> /*(int) 该区域 宽*/
- <H> /*(int) 该区域 高*/
- </REGION> /* 区域数据 结束 */
-
- <EVENT_COUNT>
- <EVENT>
- <INDEX>
- <ID>
- <EVENT_NAME>
- <EVENT_FILE>
- <X>
- <Y>
- <EVENT_DATA> /*(str[])*/
- </EVENT>
- </WORLD> /* 场景数据块 结束 */
-
- //--------------------------------------------------------------------------------------------------------------
- </LEVEL> /* 关卡数据块 结束*/
- //--------------------------------------------------------------------------------------------------------------
- //--------------------------------------------------------------------------------------------------------------
- <COMMAND> /* 命令数据块 开始*/
- //--------------------------------------------------------------------------------------------------------------
-
- <COMMAND_TABLE_GROUP_COUNT> /*(int) 表集合数量 */
-
- <TABLE_GROUP> /* 表集合 开始*/
-
- <KEEP> ...
- <IGNORE> ... /*忽略指定名字的表集合,后面跟表集合名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
-
- <TABLE_GROUP_INDEX> /*(int) 表集合编号*/
- <TABLE_GROUP_NAME> /*(str) 表集合名字*/
- <TABLE_COUNT> /*(int) 集合中表的数量 */
-
- <TABLE> /* 表数据块 开始 */
-
- <KEEP_TABLE> ...
- <IGNORE_TABLE> ... /*忽略指定名字的表集合,后面跟表集合名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
-
- <TABLE_INDEX> /* (int)该表编号 */
- <TABLE_NAME> /* (int)表名字 */
- <COLUMN_COUNT> /* (int)列数量 */
- <ROW_COUNT> /* (int)行数量 */
-
- <TABLE_MATRIX> /*(obj)[][] 表自定义二维数组 */
- <TABLE_MATRIX_STR> /*(str)[][] 表文字二维数组 */
- <TABLE_MATRIX_NUM> /*(int)[][] 表数字二维数组 */
- <TABLE_MATRIX_SMART> /*(ato)[][] 表自动二维数组 (自动判断为数字或者字符) */
-
- <KEEP_ROW> ... /* 只输出指定行行 (独占一个文本行) */
- <KEEP_COLUMN> ... /* 只输出指定行列 (独占一个文本行) */
- <IGNORE_ROW> ... /* 忽略指定行行 (独占一个文本行) */
- <IGNORE_COLUMN> ... /* 忽略指定行列 (独占一个文本行) */
-
- <CALL_GET_CELL><COLUMN,ROW> /* (函数),得到指定行/列的方法 */
-
- <COLUMN_HEAD> /* 表列头数据 开始*/
- <INDEX> /* (int)列头 号码 */
- <TEXT> /* (str)列头 文本 */
- </COLUMN_HEAD> /* 表列头数据 结束*/
-
- <CELL> /* 表元素 开始 单独输出 */
- <ROW_INDEX> /* (int)该元素 行编号(横) */
- <COLUMN_INDEX> /* (int)该元素 列编号(竖) */
- <TEXT> /* (str)该元素 文本 */
- </CELL> /* 表元素 结束 */
-
- <COLUMNS> /* 表列数据 开始 纵向输出 */
- <INDEX> /* (int)列 号码 */
- <ARRAY> /* (obj)[]列 数据*/
- <ARRAY_STR> /* (str)[]列 数据*/
- <ARRAY_NUM> /* (int)[]列 数据*/
- <ARRAY_SMART> /* (ato)[]列 数据*/
- </COLUMNS> /* 表列数据 结束*/
-
- <ROWS> /* 表行数据 开始 横向输出 */
- <INDEX> /* (int)行 号码 */
- <ARRAY> /* (obj)[]行 数据*/
- <ARRAY_STR> /* (str)[]行 数据*/
- <ARRAY_NUM> /* (int)[]行 数据*/
- <ARRAY_SMART> /* (ato)[]行 数据*/
- </ROWS> /* 表行数据 结束*/
-
-
- </TABLE> /* 表数据块 结束 */
-
- </TABLE_GROUP> /* 表集合 结束*/
-
- //--------------------------------------------------------------------------------------------------------------
- </COMMAND> /* 命令数据块 结束*/
- //--------------------------------------------------------------------------------------------------------------
-
|