Lua 触摸功能Roblox工作室

Lua 触摸功能Roblox工作室,lua,overriding,touch-event,roblox,Lua,Overriding,Touch Event,Roblox,我正在Roblox Studio上编写一个obby。在这个obby中,我有角色跳跃的部分(这些部分大约是10×10个螺柱) 我想实现的是,当角色出现在某个部分时,该部分会改变颜色 local platform=script.parent 局部功能更改颜色(部分) local humanoid=part.Parent:FindFirstChild('humanoid') 如果是人形的话 part.BrickColor=BrickColor.new('亮红色') 结束 结束 局部功能恢复颜色(部分)

我正在Roblox Studio上编写一个obby。在这个obby中,我有角色跳跃的部分(这些部分大约是10×10个螺柱)

我想实现的是,当角色出现在某个部分时,该部分会改变颜色

local platform=script.parent
局部功能更改颜色(部分)
local humanoid=part.Parent:FindFirstChild('humanoid')
如果是人形的话
part.BrickColor=BrickColor.new('亮红色')
结束
结束
局部功能恢复颜色(部分)
local humanoid=part.Parent:FindFirstChild('humanoid')
如果是人形的话
part.BrickColor=BrickColor.new('灰色')
结束
结束
平台。触摸:连接(更改颜色)
平台。触摸结束:连接(恢复颜色)
问题是,当角色在零件上行走时,零件会随着每一步从灰色变为红色并返回。我希望在球员在场期间,该部分保持红色。因此,我希望该函数能够检查玩家是否在最后(比如说)5秒内在其上行走,以便让玩家有时间在不恢复颜色的情况下行走。这是正确的方法吗?如果是,我将如何着手。是否可以覆盖触摸功能

下面是它的样子(我后来对代码做了一些修改,包括颜色等,但基本问题仍然存在)

您可以尝试使用该功能,该功能可以更可靠地返回平台正上方是否有玩家。它有两个优点:

  • 由于不需要直接接触平台,只要玩家位于平台上方的某个小区域内,就可以将其调整为比触摸的
    触摸的
    灵敏度更低

  • 它可以处理多个玩家。如果将
    TouchEnded
    连接到重置颜色,则如果两名玩家站在平台上,一名玩家离开,则即使有玩家仍站在平台上,颜色也将重置。通过检查平台上方区域是否为空,只有当所有玩家离开平台时,颜色才会重置


  • 当任何零件进入该区域时,将触发上述方法。若要将其限制为玩家,您可以改为使用该功能并检查该部件是否具有人形父部件。

    当我运行此功能时,它只运行一次。我如何让它像活动一样运行?