小
无编辑摘要
小 (→专用用法) 标签:移动版编辑 移动版网页编辑 高级移动版编辑 |
小无编辑摘要 |
||
(未显示2个用户的25个中间版本) | |||
第6行:
{| class="wikitable"
|+数组支持的类型
|boolean[]
|布尔值
|-
|float[]
|浮点数
|-
|number[]
|整数(float)
|-
|unit[]
|单位
|}
第28行:
@memory是defineUnitMemory的快捷方式,通常由多行多个@memory组成。
单个@memory的格式为: <code>@memory 名称:类型
{{折叠|@memory的例子|<pre>
@memory dir:float[]
第45行:
===跨单位引用===
要引用其他单位的内存,可以使用<code>readUnitMemory</code>
{{折叠|readUnitMemory例子|<pre>▼
▲self.customTarget1.readUnitMemory('a',type='number',index=114)
</pre>}}▼
<code>self.customTarget1.readUnitMemory('a',type='number',index=114)</code>
==修改==▼
=== 修改数组 ===
在[action]中,可以通过<code>setUnitMemory</code>来直接修改内存的值,格式为<code>setUnitMemory:名称[下标]=值</code> 。
第61行 ⟶ 第60行:
</pre>}}
和内存一样,数组也可以通过<code>[core]updateUnitMemory</code>来更新。
==跨单位读数组==
readUnitMemory('名称',type='类型')['下标']
readUnitMemory('名称',type='类型')[('数学运算下标')]
readUnitMemory('名称',type='类型').get('下标')
警告:截止1.15版,跨单位读数组,由于游戏bug,单位参考将被重定向。
<pre>
代码:
customTarget1.readUnitMemory("obj",type="unit[]").get(memory.index)
customTarget1.readUnitMemory("obj",type="unit[]").get(self.hp)
customTarget1.readUnitMemory("obj",type="unit[]").get(memory.unit.readUnitMemory("index",type="float"))
实际运行结果:(伪代码)
customTarget1.memory.obj.get(customTarget1.memory.index)
customTarget1.memory.obj.get(customTarget1.hp)
customTarget1.memory.obj.get(customTarget1.memory.unit.memory.index)
局部函数不受此影响。
如:thisActionIndex/index,eventSource,thisActionTarget。
使用消息接受数组,将返回空数组。
eventData("get",type="float[]")=[]
[hiddenAction_copy]
alsoTriggerAction:set
alsoTriggerActionRepeat:customTarget1.readUnitMemory("obj",type="unit[]").size
alsoTriggerOrQueueActionWithTarget:customTarget1
[hiddenAction_set]
setUnitMemory:buffer[index]=thisActionTarget.readUnitMemory("obj",type="unit[]").get(index)</pre>
}}
===重定向到自己===
使用局部变量重定向到自己。
<pre>
[hiddenAction_0]
alsoTriggerAction:1
alsoTriggerOrQueueActionWithTarget:self
[hiddenAction_1]
debugMessage:customTarget1.readUnitMemory("arr",type="float[]").get(thisActionTarget.readUnitMemory("index",type="float"))
</pre>
▲===修改值===
使用发信等方式修改目标的值,通过被重定向目标进行访问(这里不提供代码实现)
== 专用用法 ==
* <code>数组名.size/数组名.length</code> 返回数组大小(元素个数)
* <code>数组名=null</code> 清空数组,大小变为0
* <code>数组名.contains("数据")</code> 检测数组中是否包含这个数据
|