自定义内存:修订间差异
小无编辑摘要 标签:移动版编辑 移动版网页编辑 高级移动版编辑 |
(→修改:添加注意事项。) 标签:移动版编辑 移动版网页编辑 |
||
(未显示2个用户的3个中间版本) | |||
第13行: | 第13行: | ||
|- |
|- |
||
|number |
|number |
||
|整数 |
|整数(float) |
||
|- |
|- |
||
|unit |
|unit |
||
第23行: | 第23行: | ||
==定义== |
==定义== |
||
在[core]节中,可以使用<code>defineUnitMemory</code>和<code>@memory</code>来定义内存,内存名字可以是中文。 |
在[core]节中,可以使用<code>defineUnitMemory</code>和<code>@memory</code>来定义内存,内存名字可以是中文,但请注意,应避免使用特殊符号命名。 |
||
=== 通过defineUnitMemory定义 === |
=== 通过defineUnitMemory定义 === |
||
第40行: | 第40行: | ||
=== 通过@memory定义 === |
=== 通过@memory定义 === |
||
@memory是defineUnitMemory的快捷方式,通常由多行多个@memory组成。 |
@memory是defineUnitMemory的快捷方式,通常由多行多个@memory组成。更推荐用于模板,defineUnitMemory可以被覆盖,致使定义的内容无法生效,@memory可以避免此种情况。 |
||
单个@memory的格式为: <code>@memory 名称:类型</code> |
单个@memory的格式为: <code>@memory 名称:类型</code> |
||
第63行: | 第63行: | ||
setUnitMemory:a=1,b=memory.b+1 |
setUnitMemory:a=1,b=memory.b+1 |
||
</pre>}} |
</pre>}} |
||
在[[1.15|1.15p10]]更新后,也可以通过<code>[core]updateUnitMemory</code>来维持内存更新,即每到达设定时间就进行一次内存更新,格式与<code>setUnitMemory</code>相同,但需要添加到[core]节。通过<code>[core]updateUnitMemoryRate</code>可以设置更新频率(单位为帧,填写0为不停的更新 |
在[[1.15|1.15p10]]更新后,也可以通过<code>[core]updateUnitMemory</code>来维持内存更新,即每到达设定时间就进行一次内存更新,格式与<code>setUnitMemory</code>相同,但需要添加到[core]节。通过<code>[core]updateUnitMemoryRate</code>可以设置更新频率(单位为帧,填写0为不停的更新),但请不要填写NaN或NaNs,这使得<code>[core]updateUnitMemoryRate</code>不再更新。 |
||
[[分类:模组制作]] |
[[分类:模组制作]] |
2024年3月22日 (五) 19:01的最新版本
自定义内存(memory)是铁锈1.15加入的一种数据存储方式。
类型
boolean | 布尔值 |
float | 浮点数 |
number | 整数(float) |
unit | 单位 |
string | 字符串 |
定义
在[core]节中,可以使用defineUnitMemory
和@memory
来定义内存,内存名字可以是中文,但请注意,应避免使用特殊符号命名。
通过defineUnitMemory定义
在[core]节中添加: defineUnitMemory:类型 名称,类型 名称......
defineUnitMemory例子 |
---|
defineUnitMemory:boolean is_alive,float xp,unit c_target,unit father,string customText 或者 defineUnitMemory:""" boolean is_alive, float xp, unit c_target, unit father, string customText """ |
通过@memory定义
@memory是defineUnitMemory的快捷方式,通常由多行多个@memory组成。更推荐用于模板,defineUnitMemory可以被覆盖,致使定义的内容无法生效,@memory可以避免此种情况。
单个@memory的格式为: @memory 名称:类型
@memory的例子 |
---|
@memory dir:float @memory amo:number @memory armor_f:unit |
引用
要引用单位内部的自定义内存,可以直接使用 memory.名称
。
要引用其他单位的内存,可以使用readUnitMemory
,格式为单位引用.readUnitMemory('名称',type='类型')
。
readUnitMemory例子 |
---|
self.customTarget1.readUnitMemory('a',type='number') |
修改
在[action]中,可以通过setUnitMemory
来直接修改内存的值,格式为setUnitMemory:名称=值,名称=值...
。
setUnitMemory例子 |
---|
# [action] 中 setUnitMemory:a=1,b=memory.b+1 |
在1.15p10更新后,也可以通过[core]updateUnitMemory
来维持内存更新,即每到达设定时间就进行一次内存更新,格式与setUnitMemory
相同,但需要添加到[core]节。通过[core]updateUnitMemoryRate
可以设置更新频率(单位为帧,填写0为不停的更新),但请不要填写NaN或NaNs,这使得[core]updateUnitMemoryRate
不再更新。