我在这里有一个很长的代码,用于在制造酸的工具内制作炸弹脚本,但酸不会锚定,酸锚定代码段位于第 41 行。它应该为炸弹的早期原型制造酸。
local tool = script.Parent
local char = tool.Parent.Parent.PlayerGui
local acid
tool.Activated:Connect(function()
local part = Instance.new("Part")
part.Parent = workspace
part.Name = "Bomb"
part.Shape = Enum.PartType.Ball
part.Size = Vector3.new(2,2,2)
part.Position = tool.Handle.Position
part.BrickColor = BrickColor.new("Black")
local flashcount = 0
local function flash()
local part = part
part.BrickColor = BrickColor.new("Really red")
wait(0.99)
part.BrickColor = BrickColor.new("Black")
end
while wait(1) do
flash()
flashcount += 1
if flashcount == 4 then
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://6823153536"
sound.RollOffMaxDistance = 100
sound.Parent = part
sound:Play()
local explosion = Instance.new("Explosion")
explosion.Parent = workspace
explosion.Position = part.Position
explosion.Hit:Connect(function(parti)
parti.Anchored = false
end)
acid = Instance.new("Part")
acid.Position = part.Position
acid.Parent = workspace
acid.Size = Vector3.new(1, 5, 5)
acid.Anchored = true
break
end
end
wait(4)
part:Destroy()
wait(4)
end)
我也尝试将其与它隔离,但没有成功。我需要将其锚定为游戏中的炸弹工具。
您的代码顺序似乎会影响您实际预期的结果。
创建要插入工作区的实例时,通常按照最后将实例作为工作区的父级,同时首先应用某些属性修改的顺序来完成。例如,爆炸的事件侦听器可能仅在爆炸发生后才注册,从而导致永远不会调用该事件。 为了避免这种情况,您可以移动线路
explosion.Parent = part
到事件监听器下面。
对于酸性部分也是如此,只有在设置了所有属性(包括将“锚定”设置为 true)后才需要创建父级。
可能发生的情况是,你的爆炸甚至在酸部分有机会锚定之前就将其吹走了。
考虑阅读以下文章,了解有关 Roblox 任务计划如何优先运行代码的更多信息。