Scripting 如何在ROBLOX上制作一块滑动砖,使其消失成另一块

Scripting 如何在ROBLOX上制作一块滑动砖,使其消失成另一块,scripting,slide,building,roblox,Scripting,Slide,Building,Roblox,我必须使用身体姿势吗?人体速度?请帮助什么是“消失在另一个”的意思?您可以使用多种方法来模拟滑动。您可以使用CFrame、BodyVelocity、BodyForce甚至BodyPosition。你甚至可以做一块没有摩擦的砖,然后在上面滑动。你还有什么需要知道的吗?如果是这样,请评论。还有另一种更现实、更不容易失败的方法,您可以简单地制作一块砖块,在函数上,例如onClick(),您可以使用透明度使其消失,并使锚定的砖块可见,并使原始砖块不同心,并且新替换的位置也向该方向移动,我倾向于使用Bod

我必须使用身体姿势吗?人体速度?请帮助

什么是“消失在另一个”的意思?您可以使用多种方法来模拟滑动。您可以使用CFrame、BodyVelocity、BodyForce甚至BodyPosition。你甚至可以做一块没有摩擦的砖,然后在上面滑动。你还有什么需要知道的吗?如果是这样,请评论。

还有另一种更现实、更不容易失败的方法,您可以简单地制作一块砖块,在函数上,例如onClick(),您可以使用透明度使其消失,并使锚定的砖块可见,并使原始砖块不同心,并且新替换的位置也向该方向移动,我倾向于使用BodyPosition,因为它适用于这个位置,可以用于锚定和非锚定砖块(不适用于非锚定砖块),bodyvelocity用于非锚定砖块向一个方向移动,这有点像tedius,我说它不太可能失败,因为如果替代品失败,然后原始的砖块仍然存在,如果子块损坏,您可以制作一个备份脚本来保存它

我希望这能有所帮助。
-奥比安。

如果我理解你想尝试什么,有很多方法可以做到这一点。为了让它有效地“滑入另一块砖块并消失”,您可以做两件事:

1) 在另一块砖的方向上有一个强大的体速度,它的CanCollide为0。当砖块与其他砖块接触时,它将等待一小段时间,然后自行移除


2) 可以使用CFrame移动砖块,使用CFrame.new(Brick1.Pos,Brick2.Pos)查找角度,并使用框架系统将该CFrame添加到Brick1 CFrame,从而创建“移动”效果。当“框架”结束时,您将移除砖块。

使用传送带将其滑入,使砖块可以卷曲,并使其比c更肥。

据我所知,您希望使用c框架。 要使两块砖块在同一空间中移动(两块砖块的CanCollide=true),必须使用CFrame。所有“实体”实例(BodyVelocity、BodyPosition)都会对砖块施加力,因此无法使它们在同一空间中移动

如果需要滑动门,可以使用以下脚本:

local StartPosition = script.Parent.CFrame
local ToPosition = workspace.TargetPart.CFrame -- Make sure this is right

function Open()
    for i=0,100,1 do
        script.Parent.CFrame = StartPosition + CFrame.new(StartPosition.p,ToPosition.p).lookVector *     ((StartPosition.p-ToPosition.p).magnitude/100) * i
        wait(0.01)
    end
end

function Close()
    for i=100,0,-1 do
        script.Parent.CFrame = StartPosition + CFrame.new(StartPosition.p,ToPosition.p).lookVector *     ((StartPosition.p-ToPosition.p).magnitude/100) * i
        wait(0.01)
    end
end

local Moving = false
local IsOpen = false
function Toggle()
    if Moving then return end
    Moving = true

    if IsOpen then
        Close()
    else
        Open()
    end
    IsOpen = not IsOpen

    Moving = false
end

-- Following code is just for testing
Toggle()
wait(1)
Toggle()

确保第二块砖块比第一块砖块大。

您可以制作一个
onClick
脚本,使砖块具有速度,以将第二块砖块滑动到位,然后制作一个新的
onClick
脚本,使速度的影响为负值,以便将第二块砖块拉出