如何制作一个在 ROBLOX 上消失的滑动砖
Posted
技术标签:
【中文标题】如何制作一个在 ROBLOX 上消失的滑动砖【英文标题】:How to make a sliding brick that dissapears into another on ROBLOX 【发布时间】:2011-05-14 23:37:09 【问题描述】:我必须使用身体姿势吗?体速?请帮忙
【问题讨论】:
【参考方案1】:“消失在另一个人中”是什么意思?您可以使用多种方法来模拟滑动。您可以使用 CFrame、BodyVelocity、BodyForce 甚至是 BodyPosition。您甚至可以制作没有摩擦的砖块并在其上滑动。你还有什么需要知道的吗?如果有,请发表评论。
【讨论】:
【参考方案2】:好吧,还有另一种更现实且不太可能失败的方法,您可以简单地制作一个砖块,然后在函数上,例如 onClick(),您可以使用透明度使其消失并让锚定的砖块变得可见,并使原始砖非CanCollide,新替代品的位置向方向移动,另外,我倾向于使用BodyPosition,因为它适用于位置,可用于锚定和非锚定砖(非锚定也不适用),bodyvelocity 用于非锚定砖块朝一个方向移动,这有点乏味,好吧,我说它不太可能失败,因为如果替代品失败了,那么原来的砖块还在,如果子坏了你可以做一个备份脚本来保存它.
我希望其中的一些帮助。 -Orbian。
【讨论】:
【参考方案3】:如果我了解您想要尝试的内容,有很多方法可以做这样的事情。为了让它有效地“滑入另一块砖并消失”,你可以做两件事:
1) 在另一个砖块的方向上有一个强大的 BodyVelocity,它的 CanCollide 为 0。当砖块与另一个砖块接触时,它会等待很短的时间,然后自行移除。
2) 您可以使用 CFrame 移动砖块,使用 CFrame.new(Brick1.Pos, Brick2.Pos) 找到角度,并使用框架系统将该 CFrame 添加到 Brick1 CFrame,创建“移动”的效果”。当“框架”结束时,您将移除砖块。
【讨论】:
【参考方案4】:使用传送带将其滑入,使砖可以碰撞并使其比c更肥
【讨论】:
【参考方案5】:据我所知,您想使用 CFrame。 为了能够使两块砖在同一个空间中移动(两块砖的 CanCollide = true),您必须使用 CFrame。所有“Body”实例(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()
确保第二块砖比第一块大。
【讨论】:
【参考方案6】:您可以创建一个 onClick
脚本,使砖块具有将第二块砖块滑入到位的速度,然后创建一个新的 onClick
脚本以使速度的影响为负,从而将第二块砖块拉回.
【讨论】:
以上是关于如何制作一个在 ROBLOX 上消失的滑动砖的主要内容,如果未能解决你的问题,请参考以下文章