小
无编辑摘要
小 (没写完) |
小无编辑摘要 |
||
| 第1行: | 第1行: | ||
{{欢迎编辑|}} | {{欢迎编辑|}} | ||
{{面包屑|Mods}} | |||
铁锈里的单位参数信息以两种形式存储着,一种是直接写在游戏的dex文件或jar文件中,和游戏核心源码在一块儿,还有一种是游戏后面版本有了mod系统后写在实体ini文件中,我们现在制作mod单位都是通过创建新的ini文件来进行的。 | |||
这里的ini文件是一种以ini为文件扩展名以UTF-8为编码格式的纯文本文件,每个单位对会应一个ini文件。其内容结构上由节(Section)、键值对(Key-value Pair)组成。一个文件会包含多个节,一个节包含多个键值对,每个键会对应一个值,键和值通过<code>:</code>进行连接。 | |||
<pre> | |||
#节由方括号包裹 | |||
[section1] | |||
#每个节和每个键值对都需要单独占一行 | |||
#键值对写在节后表示它从属于这个节 | |||
key1:value1 | |||
key2:value2 | |||
[section2] | |||
key3:value3 | |||
[section3] | |||
... | |||
</pre> | |||
铁锈代码规定由几种不同的节来负担单位不同的功能。例如: | |||
<pre> | |||
#core或称核心节承担了单位的基本和杂项的属性 | |||
[core] | [core] | ||
#单位的名称 | |||
name: tank | name: tank | ||
#单位的造价 | |||
price: 1000 | price: 1000 | ||
#movement或称移动节承担了单位移动相关的属性 | |||
[movement] | [movement] | ||
#单位的移动速度 | |||
moveSpeed: 2 | moveSpeed: 2 | ||
</pre> | </pre> | ||
每个铁锈单位有这几个必要的属性才能被游戏承认,否则你会在加载时收获报错。 | |||
<pre> | |||
[core] | |||
#单位的真名 | |||
name: tank1 | |||
#单位的生命值 | |||
maxHp: 210 | |||
#单位的造价 | |||
price: 350 | |||
#单位的重量 | |||
mass: 3000 | |||
#单位的体积半径 | |||
radius: 10 | |||
[graphics] | |||
#单位的主体贴图 | |||
image: tank.png | |||
[attack] | |||
#可攻击 | |||
canAttack: false | |||
#可攻击飞行单位 | |||
canAttackFlyingUnits: false | |||
#可攻击地面单位 | |||
canAttackLandUnits: false | |||
#可攻击水下单位 | |||
canAttackUnderwaterUnits: false | |||
[movement] | |||
#移动类型 | |||
movementType: LAND | |||
</pre> | |||
单位不同属性(键)要填的值的类型是不同的。比如单位重量mass只能填正整数,建筑类单位的占地大小footprint只以<code>1,2,1,1</code>这种格式表示单位占地以单位为中心向左延伸一格向上延伸两格向右向下延伸一格。这些要求在代码表中会有提示。 | |||
铁锈在一行的开头使用<code>#</code>来将该行的内容注释掉,即游戏在加载时会忽略这行内容。 | |||
== 调试单位 == | == 调试单位 == | ||