如何在ROBLOX Studio中触摸某些砖块时使对象消失?

时间:2018-01-04 23:21:22

标签: scripting roblox

我试图用一个下降的块水平做一个obby并且砖块落下好但我希望它们在触摸某个块时消失,所以它们看起来不凌乱。有什么帮助吗?

3 个答案:

答案 0 :(得分:1)

假设每个坠落部分都是一个新部件,你可以简单地在一个角色触碰它时销毁它。

script.Parent.Touched:connect(function(hit)
   if hit:FindFirstChild('Humanoid') then -- Check if it is a character that touched the part
      script.Parent:Destroy()
   end
end

答案 1 :(得分:0)

已接受的答案不再起作用,这对我有用:

script.Parent.Touched:connect(function(hit)

if hit.Parent:FindFirstChildWhichIsA('Humanoid') then -- Check if it is a character that touched the part
    script.Parent:Destroy()
   end
end
)

答案 2 :(得分:0)

我想我知道出了什么问题。这是我的代码。

2

制作一个零件并将其命名为block,然后使用上面的代码插入脚本,即可正常运行。 (您可以通过多次复制和粘贴“ wait(1)”和“阻止透明度”并使数字更小来使其更加平滑。示例:

local block = script.Parent
local debounce = true

block.Touched:Connect(function(hit)
    local humanoid = hit.Parent:FindFirstChildWhichIsA('Humanoid')
    if humanoid and debounce == true then
        debounce = false
        block.Transparency = 0.5
        wait(1)
        block.Transparency = 1
        block.CanCollide = false
        wait(3)
        block.Transparency = 0
        block.CanCollide = true
        debounce = true
        
    end
end)

请注意我如何将CanCollide值设置为true直至特定点。这很重要,因为:一旦您触摸了方块,该方块便会消失,而不会给玩家跳跃的机会。取而代之的是,它消失得足够晚,以使玩家有时间做出反应。