单位编辑:修订间差异

无编辑摘要
(没写完)
无编辑摘要
第1行:
{{欢迎编辑|}}
{{面包屑|modsMods}}
 
铁锈里的单位参数信息以两种形式存储着,一种是直接写在游戏的dex文件或jar文件中,和游戏核心源码在一块儿,还有一种是游戏后面版本有了mod系统后单位参数信息被写在单独的实体ini文件中,我们现在制作mod单位都是通过创建新的ini文件来进行的。
{{面包屑|mods}}
铁锈里的单位参数信息以两种形式存储着,一种是直接写在游戏的dex文件或jar文件中,和游戏核心源码在一块儿,还有一种是游戏后面版本有了mod系统后单位参数信息被写在单独的ini文件中,我们现在制作mod都是通过创建新的ini文件来进行的。
 
这里的ini文件是一种以ini为文件扩展名以UTF-8为编码格式的纯文本文件,每个单位对会应一个ini文件。其内容结构上由节(Section)、键(Key)、(Value)对(Key-value Pair)组成。一个文件会包含多个节,一个节中通常包含多个键值对,每个键对应一个值,键和值通过<code>:</code>进行连接。<ref>一般ini通过<code>=</code>连接,但在铁锈中使用<code>:</code>连接</ref>在铁锈中,ini文件用于存储单位的信息,对单位的各种数值进行设置
<pre>
#节由方括号包裹
[section1]
#每个节和每个键值对都需要单独占一行
#键值对写在节后表示它从属于这个节
key1:value1
key2:value2
 
[section2]
例如:
key3:value3
{{折叠|一个ini文件例子|<pre>
 
[section3]
...
</pre>
铁锈代码规定由几种不同的节来负担单位不同的功能。例如:
<pre>
#core或称核心节承担了单位的基本和杂项的属性
[core]
#单位的名称
name: tank
#单位的造价
price: 1000
 
#movement或称移动节承担了单位移动相关的属性
[movement]
#单位的移动速度
moveSpeed: 2
</pre>}}
 
在上面这段ini中,我们可以清晰的看到:core中name的值为tank,movement中moveSpeed的值为2。
每个铁锈单位有这几个必要的属性才能被游戏承认,否则你会在加载时收获报错。
<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>来将该行的内容注释掉,即游戏在加载时会忽略这行内容。
 
 
[[Mod语法|详细的ini教程]]
 
== 调试单位 ==
573

个编辑