我正在制作游戏,现在已经到了需要库存的地步了。我的意思是习惯。我已经制作了gui,其他所有东西也都可以使用,但是我找不到使插槽(用于工具)滑行的有效方法。就像这样。
好的,所以我的库存中有两个物品。一个在最顶部,一个在第一个正下方。我单击顶部的一个(将其取出),然后第二个停留在那离顶部最远的位置有点尴尬的位置。
--the only way i know of doing this is with a lot of if/elseif's
if not gui.Position == UDim2.new(0,13,0,123) then
gui2.Position = UDim2.new(0,13,0,123)
end
这样的事情,但是如果我有10个插槽怎么办?20吗 我能想到的就是更多。那么,您知道一种提高效率的方法吗?
因此,根据此处的答案,这将是这样做的方法:
t = script.Parent
gui = script.Parent.Parent
t.MouseButton1Click:connect(function()
t.Position = t.Position + UDim2.new(0,1,0,0)
gui.w1.Position = t.Position + UDim2.new(0,0, 0, t.Size.Y.Offset)
gui.w2.Position = gui.w1.Position + UDim2.new(0,0, 0, t.Size.Y.Offset)
gui.w3.Position = gui.w2.Position + UDim2.new(0,0, 0, t.Size.Y.Offset)
gui.w4.Position = gui.w3.Position + UDim2.new(0, 0, 0, t.Size.Y.Offset)
gui.w5.Position = gui.w4.Position + UDim2.new(0, 0, 0,t.Size.Y.Offset)
end)
这是您的意思,还是我错过了要点?
首先,出于纯粹的运气,我将您的代码识别为ROBLOX Lua。将来在此网站上提问时,您应该指定您使用ROBLOX Lua进行编码,因为该API非常独特,并且此处的大多数人都不了解ROBLOX。
如果我正确理解了您的问题,那么您正在尝试制作GUI库存插槽,对吗?我还假设您使用Frame作为GUI对象,因为您没有指定。
我的建议是根据它们的大小将它们分开。UDim2值具有两对数字。每对中的第一个数字称为比例尺,用于根据相对屏幕尺寸进行定位。第二个称为偏移量,用于基于像素数量进行定位。通常,您应该只使用已经在做的一个,所以很好。
考虑到这一点,您可以创建一个新的插槽,将其自动定位在另一个插槽旁边。像这样的东西:
newGui.Position = oldGui.Position + UDim2.new(0, oldGui.Size.XOffset, 0, 0)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句