Я делаю игру, и я дошел до того, что нужен инвентарь. Я имею в виду обычай. У меня есть сделанный 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)
это то, что вы были смысл, или же я упустить момент?
Как вы «забираете верхний»? Кроме того, ваш пример на основе подчеркивания, похоже, не очень хорошо переводится в текст. Либо это, либо просто не имеет смысла. –
Я уверен, что вы можете придумать что-то лучшее. почему бы не реализовать, например, 4 «отображения» и сообщить каждому из них, какой элемент отображать? возьмите ручку и бумагу и сделайте эскиз – Piglet