TextFileScriptHelp.txt 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394
  1. //--------------------------------------------------------------------------------------------------------------
  2. //指令说明
  3. //--------------------------------------------------------------------------------------------------------------
  4. 格式:
  5. 所有指令名称由一对<>尖括号包围,<代表数据块,
  6. 该脚本是对最后生成数据格式的一种约定。
  7. 例如:
  8. 有如下约定
  9. <DATA>
  10. data[<INDEX>] = <DATAS>;
  11. </DATA>
  12. 并且程序里和<DATA>对应的有3个数据块,那么最后生成的数据是
  13. data[0] = ....;
  14. data[1] = ....;
  15. data[2] = ....;
  16. //--------------------------------------------------------------------------------------------------------------
  17. //变量列表:
  18. //--------------------------------------------------------------------------------------------------------------
  19. <VAR_FILE_NAME> /* 当前工程文件名 */
  20. <VAR_PATH_NAME> /* 当前工程路径 */
  21. //--------------------------------------------------------------------------------------------------------------
  22. //函数列表:
  23. //--------------------------------------------------------------------------------------------------------------
  24. // 函数掉用时,函数体和参数中间不能出现空格。
  25. <CALL SUB STRING><STRING,OFFSET> /* 得到子字符串 */
  26. <CALL SUB STRING><STRING,OFFSET,LENGTH> /* 得到子字符串 */
  27. <CALL PARSE TO INT><STRING> /* 字符串转换成数字 */
  28. <CALL PARSE TO DECIMAL><STRING> /* 字符串转换成十进制数字(带小数点) */
  29. <CALL ADD><ARG0,ARG1>
  30. <CALL SUB><ARG0,ARG1>
  31. <CALL MUL><ARG0,ARG1>
  32. <CALL DIV><ARG0,ARG1>
  33. //--------------------------------------------------------------------------------------------------------------
  34. //头指令列表:
  35. //--------------------------------------------------------------------------------------------------------------
  36. <OUTPUT> ... /* 后面跟输出的文件名(绝对目录或者当前工作空间的相对目录) */
  37. <IMAGE_OUTPUT> ... /* 图片输出目录(绝对目录或者当前工作空间的相对目录) */
  38. <IMAGE_TYPE> ... /* 输出图片格式(png bmp gif jpg) */
  39. <IMAGE_TILE> ... /* 散图输出 开启(true) */
  40. <IMAGE_GROUP> ... /* 整图输出 开启(true) */
  41. <FORMAT_NUMBER_ARRAY_1D> <>, /* 输出的1维数字数组格式 <> 为元素占用,当前输出格式为 (a,b,c,d,...) */
  42. <FORMAT_STRING_ARRAY_1D> "<>", /* 输出的1维字符数组格式 <> 为元素占用,格式说明同上*/
  43. <FORMAT_ARRAY_1D> <>, /* 输出的1维数组格式 <> 为元素占用 */
  44. <FORMAT_ARRAY_2D> {<>}, /* 输出的2维数组格式 <> 为元素占用,当前输出格式为 ({a1,b1,c1,...},{a2,b2,c2,...},{a2,b2,c2,...}...) */
  45. <FIXED_STRING_ARRAY> byte,(char,)/* 是否在输出数组的时候指定字符串字节长度 (空)=不指定 (非空)=byte(分隔符) 或 char(分隔符) eg: zooe -> [byte count],zooe (,为分隔符) ,*/
  46. //--------------------------------------------------------------------------------------------------------------
  47. <RESOURCE> /* 资源数据块 开始 */
  48. //--------------------------------------------------------------------------------------------------------------
  49. <RES_IMAGES_COUNT> /*(int) 资源里总共的图片组数量 */
  50. <IMAGES> /* 图片组数据块 开始 */
  51. <KEEP> ...
  52. <IGNORE> ... /*忽略指定名字的图片组,后面跟图片组名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
  53. <IGNORE_NULL_CLIP> ... /* (true or false)忽略空块 */
  54. <IMAGES_INDEX> /*(int) 该图片组的编号*/
  55. <NAME> /*(str) 该图片组的名称 */
  56. <COUNT> /*(int) 该图片组包含的图块数量,包含空图 */
  57. <OUTPUT_IMAGE_TYPE> /**自定义此图片组以tile格式或group格式,null为继承头指令定义。*/
  58. <CLIP> /* 每一个图片块的数据,每一个定义了每个图块在原图中的范围 */
  59. <DATA> /*(str) 数据*/
  60. <INDEX> /*(int) 当前是第几块 */
  61. <X> /*(int) 当前Clip在整图位置的 X */
  62. <Y> /*(int) 当前Clip在整图位置的 Y */
  63. <W> /*(int) 当前Clip的 宽 */
  64. <H> /*(int) 当前Clip的 高 */
  65. </CLIP> /* 图片切块数据块结束 */
  66. <APPEND_DATA> /*(str[]) 附加数据 ,以字符串数组形式输出 */
  67. </IMAGES> /* 图片组数据块 结束 */
  68. //--------------------------------------------------------------------------------------------------------------
  69. <RES_MAP_COUNT> /*(int) 资源里总共的地图数量 */
  70. <MAP> /* 地图数据块 开始 */
  71. <KEEP> ...
  72. <IGNORE> ... /*忽略指定名字的地图,后面跟地图名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
  73. <MAP_INDEX> /*(int) 该地图 编号*/
  74. <NAME> /*(str) 该地图 名字 */
  75. <IMAGES_NAME> /*(str) 该地图 使用的图片组名字 */
  76. <X_COUNT> /*(int) 该地图 水平格子数量 */
  77. <Y_COUNT> /*(int) 该地图 垂直格子数量 */
  78. <CELL_W> /*(int) 该地图 每格宽度 */
  79. <CELL_H> /*(int) 该地图 每格高度 */
  80. <CD_PART_COUNT> /*(int) 该地图 碰撞部件数量 */
  81. <CD_PART> /* 碰撞部件 开始 */
  82. <INDEX> /*(int) 该部件 号码 */
  83. <TYPE> /*(str) 该部件 类型( rect 或 line ) */
  84. <MASK> /*(int32) 该部件 判定值 */
  85. <X1> /*(int) 该部件 第一点 X位置 (矩形左上角点 或 线的第一点)*/
  86. <Y1> /*(int) 该部件 第一点 Y位置 (矩形左上角点 或 线的第一点)*/
  87. <X2> /*(int) 该部件 第二点 X位置 (矩形右下角点 或 线的第二点)*/
  88. <Y2> /*(int) 该部件 第二点 Y位置 (矩形右下角点 或 线的第二点)*/
  89. <W> /*(int) 该部件 宽(快速排斥矩形)*/
  90. <H> /*(int) 该部件 高(快速排斥矩形)*/
  91. </CD_PART> /* 碰撞部件 结束 */
  92. <LAYER>
  93. <INDEX> /**图层号*/
  94. <TILE_MATRIX> /*(int)[][] 地图图象二维数组 格式为 matrix[y][x] = {x0y0,x1y0,x2y0,...},{x0y1,x1y1,x2y1,...},... 图片tile id) */
  95. <FLIP_MATRIX> /*(int)[][] 地图翻转二维数组 格式为 matrix[y][x] = {x0y0,x1y0,x2y0,...},{x0y1,x1y1,x2y1,...},... 翻转方式 */
  96. <FLAG_MATRIX> /*(int)[][] 地图碰撞二维数组 格式为 matrix[y][x] = {x0y0,x1y0,x2y0,...},{x0y1,x1y1,x2y1,...},... 数据为碰撞部件号码 */
  97. </LAYER>
  98. <APPEND_DATA> /*(str[]) 附加数据 ,以字符串数组形式输出 */
  99. </MAP> /* 地图数据块 结束 */
  100. //--------------------------------------------------------------------------------------------------------------
  101. <RES_SPRITE_COUNT> /*(int) 资源里总共的精灵数量 */
  102. <SPRITE> /* 精灵数据块 开始 */
  103. <KEEP> ...
  104. <IGNORE> ... /*忽略指定名字的精灵,后面跟精灵名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
  105. <SPR_INDEX> /*(int) 该精灵 编号*/
  106. <NAME> /*(str) 该精灵 名字 */
  107. <IMAGES_NAME> /*(str) 该精灵 使用的图片组名字 */
  108. <SCENE_PART_COUNT> /*(int) 该精灵 帧部件数量 */
  109. <SCENE_PART> /* 帧部件 开始 */
  110. <INDEX> /*(int) 该部件 号码 */
  111. <TILE> /*(int) 该部件 图片索引 */
  112. <X> /*(int) 该部件 X位置 */
  113. <Y> /*(int) 该部件 Y位置 */
  114. <TRANS> /*(int) 该部件 图片翻转方式 */
  115. </SCENE_PART> /* 帧部件 结束 */
  116. <SCENE_FRAME_COUNT> /*(int) 该精灵 帧数量 */
  117. <SCENE_FRAME> /* 帧 开始 */
  118. <INDEX> /*(int) 该帧 号码*/
  119. <DATA_SIZE> /*(int) 该帧 组合部件数量*/
  120. <DATA> /*(int)[] 该帧 组合部件数组(分隔符为",")*/
  121. </SCENE_FRAME> /* 帧 结束 */
  122. <CD_PART_COUNT> /*(int) 该精灵 碰撞部件数量 */
  123. <CD_PART> /* 碰撞部件 开始 */
  124. <INDEX> /*(int) 该部件 号码 */
  125. <TYPE> /*(str) 该部件 类型( rect 或 line ) */
  126. <MASK> /*(int32) 该部件 判定值*/
  127. <X1> /*(int) 该部件 第一点 X位置 (矩形左上角点 或 线的第一点)*/
  128. <Y1> /*(int) 该部件 第一点 Y位置 (矩形左上角点 或 线的第一点)*/
  129. <X2> /*(int) 该部件 第二点 X位置 (矩形右下角点 或 线的第二点) */
  130. <Y2> /*(int) 该部件 第二点 Y位置 (矩形右下角点 或 线的第二点)*/
  131. <W> /*(int) 该部件 宽(快速排斥矩形)*/
  132. <H> /*(int) 该部件 高(快速排斥矩形)*/
  133. </CD_PART> /* 碰撞部件 结束 */
  134. <CD_FRAME_COUNT> /*(int) 该精灵 碰撞帧数量 */
  135. <CD_FRAME> /* 碰撞帧 开始 */
  136. <INDEX> /*(int) 该碰撞帧 号码*/
  137. <DATA_SIZE> /*(int) 该碰撞帧 组合部件数量*/
  138. <DATA> /*(int)[] 该碰撞帧 组合部件数组(分隔符为",")*/
  139. </CD_FRAME> /* 碰撞帧 结束 */
  140. <ANIMATE_COUNT> /*(int) 该精灵 动画数量 */
  141. <FRAME_COUNTS> /*(int)[] 该精灵 每个动画帧数量数组(分隔符为",")*/
  142. <FRAME_NAME> /*(str)[] 该精灵 每个动画的名字数组(分隔符为",")*/
  143. <FRAME_ANIMATE> /*(int)[][] 该精灵 图片动画序列二维数组 格式为 frame[animate count][frame] = {a0f0,a0f1,a0f2,...},{a1f0,a1f1,a1f2,...},...数据为帧号码*/
  144. <COMPLEX_MODE> /**是否启用混合模式*/
  145. <FRAME_ALPHA> /*(float)[][] 所有帧alpha */
  146. <FRAME_ROTATE> /*(float)[][] 所有帧rotate */
  147. <FRAME_SCALE_X> /*(float)[][] 所有帧scalex */
  148. <FRAME_SCALE_Y> /*(float)[][] 所有帧scaley */
  149. <FRAME_SHEAR_X>
  150. <FRAME_SHEAR_Y>
  151. <FRAME_CD_MAP> /*(int)[][] 该精灵 地图碰撞序列二维数组 格式为 frame[animate count][frame] = {a0f0,a0f1,a0f2,...},{a1f0,a1f1,a1f2,...},...数据为碰撞帧号码*/
  152. <FRAME_CD_ATK> /*(int)[][] 该精灵 攻击碰撞序列二维数组 格式为 frame[animate count][frame] = {a0f0,a0f1,a0f2,...},{a1f0,a1f1,a1f2,...},...数据为碰撞帧号码*/
  153. <FRAME_CD_DEF> /*(int)[][] 该精灵 防御碰撞序列二维数组 格式为 frame[animate count][frame] = {a0f0,a0f1,a0f2,...},{a1f0,a1f1,a1f2,...},...数据为碰撞帧号码*/
  154. <FRAME_CD_EXT> /*(int)[][] 该精灵 其他碰撞序列二维数组 格式为 frame[animate count][frame] = {a0f0,a0f1,a0f2,...},{a1f0,a1f1,a1f2,...},...数据为碰撞帧号码*/
  155. <APPEND_DATA> /*(str[]) 附加数据 ,以字符串数组形式输出 */
  156. </SPRITE> /* 精灵数据块 结束 */
  157. //--------------------------------------------------------------------------------------------------------------
  158. </RESOURCE> /* 资源数据块 结束 */
  159. //--------------------------------------------------------------------------------------------------------------
  160. //--------------------------------------------------------------------------------------------------------------
  161. <LEVEL> /* 关卡数据块 开始*/
  162. //--------------------------------------------------------------------------------------------------------------
  163. <LEVEL_WORLD_COUNT> /*(int) 总共场景数量 */
  164. <WORLD> /* 场景数据块 开始 */
  165. <KEEP> ...
  166. <IGNORE> ... /*忽略指定名字的场景,后面跟场景名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
  167. <WORLD_INDEX> /*(int) 该场景 编号*/
  168. <NAME> /*(str) 该场景 名字 */
  169. <DATA> /*(str[]) 该场景 数据 ,以字符串数组形式输出 */
  170. <GRID_W> /*(int) 该场景 网格宽 */
  171. <GRID_H> /*(int) 该场景 网格高 */
  172. <GRID_X_COUNT> /*(int) 该场景 横向网格数*/
  173. <GRID_Y_COUNT> /*(int) 该场景 纵向网格数*/
  174. <WIDTH> /*(int) 该场景 宽*/
  175. <HEIGHT> /*(int) 该场景 高*/
  176. <TERRAIN> /*(int[]) 该场景地形数据 block[x][y] == TERRAIN[x*xcount+y] */
  177. <UNIT_MAP_COUNT> /*(int) 该场景 包含的地图数量 */
  178. <UNIT_MAP> /* 场景地图 开始 */
  179. <KEEP_MAP> ...
  180. <IGNORE_MAP> ... /*忽略指定名字的地图,后面跟地图名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
  181. <INDEX> /*(int) 当前地图 号码 */
  182. <MAP_NAME> /*(str) 当前地图 名字 */
  183. <MAP_DATA[]> /*(str[]) 当前地图 数据 ,以字符串数组形式输出*/
  184. <IDENTIFY> /*(str) 当前地图 类型 */
  185. <X> /*(int) 当前地图 场景中X位置 */
  186. <Y> /*(int) 当前地图 场景中Y位置 */
  187. <SUPER> /*(str) 当前地图 用的图片组 */
  188. <PRIORITY> /*(int) 优先级 */
  189. </UNIT_MAP> /* 场景地图 结束 */
  190. <UNIT_SPRITE_COUNT> /*(int) 该场景 包含的精灵数量 */
  191. <UNIT_SPRITE> /* 场景精灵 开始 */
  192. <KEEP_SPR> ...
  193. <IGNORE_SPR> ... /*忽略指定名字的精灵,后面跟精灵名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
  194. <INDEX> /*(int) 当前精灵 号码 */
  195. <SPR_NAME> /*(str) 当前精灵 名字 */
  196. <SPR_DATA> /*(str[]) 当前精灵 数据 ,以字符串数组形式输出*/
  197. <IDENTIFY> /*(str) 当前精灵 类型 */
  198. <ANIMATE_ID> /*(int) 当前精灵 动画号 */
  199. <FRAME_ID> /*(int) 当前精灵 帧号 */
  200. <X> /*(int) 当前精灵 场景中X位置 */
  201. <Y> /*(int) 当前精灵 场景中Y位置 */
  202. <SUPER> /*(str) 当前精灵 用的图片组 */
  203. <PRIORITY> /*(int) 优先级 */
  204. </UNIT_SPRITE> /* 场景精灵 结束*/
  205. <UNIT_IMAGE_COUNT>
  206. <UNIT_IMAGE>
  207. <KEEP_IMG> ...
  208. <IGNORE_IMG> ...
  209. <INDEX>
  210. <IMG_NAME>
  211. <IMG_DATA>
  212. <IDENTIFY>
  213. <TILE_ID>
  214. <ANCHOR>
  215. <X>
  216. <Y>
  217. <PRIORITY>
  218. <TRANS>
  219. </UNIT_IMAGE>
  220. <WAYPOINT_COUNT> /*(int) 该场景 包含的路点数量 */
  221. <WAYPOINT> /* 路点数据 开始 */
  222. <INDEX> /*(int) 该路点 号码 */
  223. <PATH_DATA> /*(str[]) 该路点 数据 ,以字符串数组形式输出*/
  224. <X> /*(int) 该路点 场景中X位置*/
  225. <Y> /*(int) 该路点 场景中Y位置*/
  226. </WAYPOINT> /* 路点数据 结束*/
  227. <WAYPOINT_LINK> /* 路径数据 开始*/
  228. <INDEX> /*(int) 该路径 号码*/
  229. <START> /*(int) 该路径 起始路点号码*/
  230. <END> /*(int) 该路径 结束路点号码*/
  231. </WAYPOINT_LINK> /* 路径数据 结束*/
  232. <REGION_COUNT> /*(int) 该场景 包含的区域数量 */
  233. <REGION> /* 区域数据 开始 */
  234. <INDEX> /*(int) 该区域 号码 */
  235. <REGION_DATA> /*(str[]) 该区域 数据 ,以字符串数组形式输出 */
  236. <X> /*(int) 该区域 在场景中X位置 */
  237. <Y> /*(int) 该区域 在场景中Y位置 */
  238. <W> /*(int) 该区域 宽*/
  239. <H> /*(int) 该区域 高*/
  240. </REGION> /* 区域数据 结束 */
  241. <EVENT_COUNT>
  242. <EVENT>
  243. <INDEX>
  244. <ID>
  245. <EVENT_NAME>
  246. <EVENT_FILE>
  247. <X>
  248. <Y>
  249. <EVENT_DATA> /*(str[])*/
  250. </EVENT>
  251. </WORLD> /* 场景数据块 结束 */
  252. //--------------------------------------------------------------------------------------------------------------
  253. </LEVEL> /* 关卡数据块 结束*/
  254. //--------------------------------------------------------------------------------------------------------------
  255. //--------------------------------------------------------------------------------------------------------------
  256. <COMMAND> /* 命令数据块 开始*/
  257. //--------------------------------------------------------------------------------------------------------------
  258. <COMMAND_TABLE_GROUP_COUNT> /*(int) 表集合数量 */
  259. <TABLE_GROUP> /* 表集合 开始*/
  260. <KEEP> ...
  261. <IGNORE> ... /*忽略指定名字的表集合,后面跟表集合名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
  262. <TABLE_GROUP_INDEX> /*(int) 表集合编号*/
  263. <TABLE_GROUP_NAME> /*(str) 表集合名字*/
  264. <TABLE_COUNT> /*(int) 集合中表的数量 */
  265. <TABLE> /* 表数据块 开始 */
  266. <KEEP_TABLE> ...
  267. <IGNORE_TABLE> ... /*忽略指定名字的表集合,后面跟表集合名字,可以指定多项,也可以用通配符(?=一个字符,*=一串字符)*/
  268. <TABLE_INDEX> /* (int)该表编号 */
  269. <TABLE_NAME> /* (int)表名字 */
  270. <COLUMN_COUNT> /* (int)列数量 */
  271. <ROW_COUNT> /* (int)行数量 */
  272. <TABLE_MATRIX> /*(obj)[][] 表自定义二维数组 */
  273. <TABLE_MATRIX_STR> /*(str)[][] 表文字二维数组 */
  274. <TABLE_MATRIX_NUM> /*(int)[][] 表数字二维数组 */
  275. <TABLE_MATRIX_SMART> /*(ato)[][] 表自动二维数组 (自动判断为数字或者字符) */
  276. <KEEP_ROW> ... /* 只输出指定行行 (独占一个文本行) */
  277. <KEEP_COLUMN> ... /* 只输出指定行列 (独占一个文本行) */
  278. <IGNORE_ROW> ... /* 忽略指定行行 (独占一个文本行) */
  279. <IGNORE_COLUMN> ... /* 忽略指定行列 (独占一个文本行) */
  280. <CALL_GET_CELL><COLUMN,ROW> /* (函数),得到指定行/列的方法 */
  281. <COLUMN_HEAD> /* 表列头数据 开始*/
  282. <INDEX> /* (int)列头 号码 */
  283. <TEXT> /* (str)列头 文本 */
  284. </COLUMN_HEAD> /* 表列头数据 结束*/
  285. <CELL> /* 表元素 开始 单独输出 */
  286. <ROW_INDEX> /* (int)该元素 行编号(横) */
  287. <COLUMN_INDEX> /* (int)该元素 列编号(竖) */
  288. <TEXT> /* (str)该元素 文本 */
  289. </CELL> /* 表元素 结束 */
  290. <COLUMNS> /* 表列数据 开始 纵向输出 */
  291. <INDEX> /* (int)列 号码 */
  292. <ARRAY> /* (obj)[]列 数据*/
  293. <ARRAY_STR> /* (str)[]列 数据*/
  294. <ARRAY_NUM> /* (int)[]列 数据*/
  295. <ARRAY_SMART> /* (ato)[]列 数据*/
  296. </COLUMNS> /* 表列数据 结束*/
  297. <ROWS> /* 表行数据 开始 横向输出 */
  298. <INDEX> /* (int)行 号码 */
  299. <ARRAY> /* (obj)[]行 数据*/
  300. <ARRAY_STR> /* (str)[]行 数据*/
  301. <ARRAY_NUM> /* (int)[]行 数据*/
  302. <ARRAY_SMART> /* (ato)[]行 数据*/
  303. </ROWS> /* 表行数据 结束*/
  304. </TABLE> /* 表数据块 结束 */
  305. </TABLE_GROUP> /* 表集合 结束*/
  306. //--------------------------------------------------------------------------------------------------------------
  307. </COMMAND> /* 命令数据块 结束*/
  308. //--------------------------------------------------------------------------------------------------------------