Lua 如何在对象上设置OnCollisionCenter?
我正在使用Atom获取脚本我的TTS mod。在我的游戏中,我有一个GUID为Lua 如何在对象上设置OnCollisionCenter?,lua,tabletop-simulator,Lua,Tabletop Simulator,我正在使用Atom获取脚本我的TTS mod。在我的游戏中,我有一个GUID为ed743f的包,我有一个调用我的#include Shard/Shard文件的全局文件。在该文件中,我有#在我的dicerroll.ttslua文件中包含dicerroll,我有以下代码: diceRoller = getObjectFromGUID("ed743f") print(diceRoller, 'roller') function onCollisionEnter() print('dice e
ed743f
的包,我有一个调用我的#include Shard/Shard
文件的全局文件。在该文件中,我有#在我的dicerroll.ttslua
文件中包含dicerroll
,我有以下代码:
diceRoller = getObjectFromGUID("ed743f")
print(diceRoller, 'roller')
function onCollisionEnter()
print('dice entered')
end
打印可以正确地包含文件,但是如何“连接”OnCollisionCenter函数和正确的对象(骰子)?因为现在当我把模具放进袋子里时,什么也没发生。从文档中可以看出: 碰撞中心(…) 当对象开始与对象碰撞时,将调用此函数 对象,该函数处于启用状态。在全球范围内不起作用 函数启用意味着它在该对象的对象脚本中实现 对象成员:
script\u code
对象上的Lua脚本
对象脚本附加到游戏中对象的脚本,并且
作为它的一部分保存。这类似于任何其他属性,如其
鳞片或色调。有些函数要求对象引用,以便
尝试在其上运行函数。在这些情况下,全局(完全相同
也是一个有效的对象引用
根据我在这里读到的内容,我认为您需要在对象脚本中实现该函数
请再读一遍手册
@Pieget说的没错,OnCollisionCenter(…)在全球范围内不起作用。我所做的是在桌面模拟器中右键单击对象(包),然后点击“脚本编辑器”。这将打开该对象的脚本文件。然后在那个文件中我做了一个require引用
require(“somefolder/somefile”)
。路径的根是:
C:\Users******\Documents\Tabletop模拟器
现在我可以使用OnCollisionCenter(…),因为脚本不是全局的,而是对象绑定的