如何在对象上设置 onCollisionEnter?
How to set onCollisionEnter on a object?
我正在使用 Atom 获取脚本我的 TTS mod。在我的游戏中,我有一个带有 GUID ed743f
的包,我有一个调用我的 #include Shard/shard
文件的全局文件。在那个文件中,我的 diceRoller.ttslua
文件中有 #include diceroller
我有这个代码:
diceRoller = getObjectFromGUID("ed743f")
print(diceRoller, 'roller')
function onCollisionEnter()
print('dice entered')
end
打印有效,因此文件被正确包含,但是 "connect" onCollisionEnter 函数如何使用正确的对象 (diceRoller)?因为现在当我把骰子放进袋子里时什么也没有发生。
来自文档:
onCollisionEnter(...)
This function is called when an Object starts colliding with the
Object the function is on. Does not work in Global.
功能开启意味着它在该对象的对象脚本中实现。
对象成员:
script_code
The Lua Script on the Object.
Object Script A script that is attached to an in-game Object, and is
saved as part of it. This is similar to any other property like its
scale or tint. Some functions ask for an Object reference in order to
attempt to run a function on it. In these cases, Global (exactly as
written here) is also a valid Object reference.
根据我在此处阅读的内容,我认为您需要在对象脚本中实现该功能。
请再次阅读手册。
@Piglet 说 onCollisionEnter(...) 在全局中不起作用是正确的。我所做的是在桌面模拟器中右键单击对象(袋子)并点击 "Scripting editor"。这将打开该对象的脚本文件。然后在那个文件中我做了一个 require reference require("somefolder/somefile")
。路径的根是:
C:\Users*****\Documents\Tabletop Simulator
所以现在我可以使用 onCollisionEnter(...) 因为脚本不是全局的而是对象绑定的。
我正在使用 Atom 获取脚本我的 TTS mod。在我的游戏中,我有一个带有 GUID ed743f
的包,我有一个调用我的 #include Shard/shard
文件的全局文件。在那个文件中,我的 diceRoller.ttslua
文件中有 #include diceroller
我有这个代码:
diceRoller = getObjectFromGUID("ed743f")
print(diceRoller, 'roller')
function onCollisionEnter()
print('dice entered')
end
打印有效,因此文件被正确包含,但是 "connect" onCollisionEnter 函数如何使用正确的对象 (diceRoller)?因为现在当我把骰子放进袋子里时什么也没有发生。
来自文档:
onCollisionEnter(...)
This function is called when an Object starts colliding with the Object the function is on. Does not work in Global.
功能开启意味着它在该对象的对象脚本中实现。
对象成员:
script_code
The Lua Script on the Object.Object Script A script that is attached to an in-game Object, and is saved as part of it. This is similar to any other property like its scale or tint. Some functions ask for an Object reference in order to attempt to run a function on it. In these cases, Global (exactly as written here) is also a valid Object reference.
根据我在此处阅读的内容,我认为您需要在对象脚本中实现该功能。
请再次阅读手册。
@Piglet 说 onCollisionEnter(...) 在全局中不起作用是正确的。我所做的是在桌面模拟器中右键单击对象(袋子)并点击 "Scripting editor"。这将打开该对象的脚本文件。然后在那个文件中我做了一个 require reference require("somefolder/somefile")
。路径的根是:
C:\Users*****\Documents\Tabletop Simulator
所以现在我可以使用 onCollisionEnter(...) 因为脚本不是全局的而是对象绑定的。