2016-04-03 11 views
0

私はゲームを作っています。在庫が必要なところまで行きました。私はカスタム1を意味します。私はGUIを作成し、他のすべてのものは動作していますが、私は効率的にスロットを(ツールのために)スライドさせることができません。こんな感じです。インベントリに効率的なスロットを作成するにはどうすればよいですか?

私の在庫には2つのアイテムがあります。 1つは非常に上にあり、1つは最初の真下にあります。私はトップ1をクリックして(それを取り出すために)、2番目のものはちょうど非常に上から少し厄介なままにとどまります。

--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) 

はあなたが意味された何本あるか、私はポイントを逃したのですか?

+0

どのように「トップ1を取り除きますか?また、アンダースコアに基づく例は、テキストにうまく翻訳されていないようです。どちらかというと、それは意味をなさない。 –

+0

あなたはそれ以上のものを考え出すことができると確信しています。なぜ例4を実装していないのですか?「表示」し、それぞれに表示する項目を教えてください。ペンと紙を取ってスケッチを作ろう – Piglet

答えて

1

まず、純粋な運の中で、あなたのコードをROBLOX Luaと認識します。将来このサイトで質問するときは、APIが非常にユニークで、ここのほとんどの人がROBLOXについて知らないので、ROBLOX Luaでコーディングするように指定する必要があります。

あなたの質問を正しく理解していれば、GUIインベントリスロットを作成しようとしているのでしょうか?また、指定しなかったので、GUIオブジェクトとしてFrameを使用していると仮定します。

私は彼らのサイズに基づいてそれらを分けることを提案します。 UDim2の値には2つの数字のペアがあります。各ペアの最初の数字はスケールと呼ばれ、相対的な画面サイズに基づいた位置付け用です。 2番目はオフセットと呼ばれ、ピクセルの量に基づいて位置決めするためのものです。あなたは一般的に、あなたがすでにやっているものだけを使うべきです、それは良いことです。

これを念頭に置いて、自動的に別のスロットの横に位置する新しいスロットを作成することができます。このようなもの:

newGui.Position = oldGui.Position + UDim2.new(0, oldGui.Size.XOffset, 0, 0) 
+1

彼はrobloxで質問をタグ付けした。だから私はそれが単なる純粋な幸運ではなかったと思う。 :) 私はrobloxを知らないけど、これがどのようにして彼の問題を解決するのか分からない。他のものの隣に何かを配置する方法を説明しただけです。最初のアイテムを削除しても、2番目のアイテムはまだそのポジションに残っていますか? 彼の問題は概念的な性質のものだと私は思います。 – Piglet

+0

私はRBX luaでコーディングするように指定するにはどうすればよいですか? –

関連する問題