# UMGでのアイテムメニュー作成について

**URL:** <https://forums.unrealengine.com/t/umg/424240>\
**Category:** UI\
**Tags:** sorting, unreal-engine, menu, item, Blueprint, question, UMG\
**Created:** [May 3, 2018, 12:55pm UTC](https://forums.unrealengine.com/t/umg/424240 "2018-05-03T12:55:22Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Anonymous\_6c34735644e2a053ad9e550d96521030](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Anonymous\_6c34735644e2a053ad9e550d96521030](https://forums.unrealengine.com/u/Anonymous_6c34735644e2a053ad9e550d96521030)\
**Post date:** [May 3, 2018, 12:55pm UTC](https://forums.unrealengine.com/t/umg/424240/1 "2018-05-03T12:55:22Z")

</div>

お世話になります。UE4初心者です。

現在UMGで、正方形のイメージアイコンを並べたアイテムメニューを作成しようと練習しているのですが、ブループリントなどを使い、なくなった(所持数０になった)アイテムのアイコンを一覧から削除して、まだ所持しているアイテムのアイコンを左上に向かって詰めていくような処理の作り方がわからず困っています。

![239730-snapcrab-noname-2018-5-3-21-31-19-no-00.png](https://d3kjluh73b9h9o.cloudfront.net/original/4X/f/a/c/fac1748c08e89d6e69092c3c7be7aad872396bde.png)

この画像のような感じです。わかりにくくてすみません。

可能であれば、なくなったアイテムのアイコンがあった場所は何もない空アイコンの状態にして、プレイヤーが『整理』ボタンを実行した時に左上に向かって名前順か何かでソートできるような処理が出来ればいいのですが…

今途中まで自力で作ったメニューは、このような構成になっております。

![239761-snapcrab-noname-2018-5-3-21-40-4-no-00.png](https://d3kjluh73b9h9o.cloudfront.net/original/4X/e/d/c/edcd09944d4c3d87f32a87844cb93836b273f387.png)

※下の方にある『Image\_1』～『Image\_7』は、アイコンの並びがわかりやすいように入れているだけで、実際に使おうと思っているアイテムアイコンは『Overlay』に入っているものです。

このようなメニューを作る場合、どういった方法があるでしょうか？  
ご教示よろしくお願いします。

---

<div class="post-metadata">

**Author:** ![T\_Sumisaki](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@T\_Sumisaki](https://forums.unrealengine.com/u/T_Sumisaki)\
**Post date:** [May 3, 2018, 1:39pm UTC](https://forums.unrealengine.com/t/umg/424240/2 "2018-05-03T13:39:42Z")

</div>

左上に詰めていくのであれば、 `WrapBox` パネルがを使うのが良いでしょう。

 ![239764-wrap.png](https://d3kjluh73b9h9o.cloudfront.net/original/4X/1/2/b/12b3f9ea4c00543093c75eb6ba2a9938c03ddcab.png)

[Widget タイプのリファレンス](http://api.unrealengine.com/JPN/Engine/UMG/UserGuide/WidgetTypeReference/#%E3%83%91%E3%83%8D%E3%83%AB)

残数がなくなった時点で詰めるのであれば、アイテムリストが更新されるタイミング（アイテムを使ったり、拾ったり）でチェックを行い、残数が0のパネルを非表示にすれば良いと思います。

---

<div class="post-metadata">

**Author:** ![Anonymous\_6c34735644e2a053ad9e550d96521030](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Anonymous\_6c34735644e2a053ad9e550d96521030](https://forums.unrealengine.com/u/Anonymous_6c34735644e2a053ad9e550d96521030)\
**Post date:** [May 3, 2018, 4:44pm UTC](https://forums.unrealengine.com/t/umg/424240/3 "2018-05-03T16:44:18Z")

</div>

さっそくのご回答ありがとうございます。

了解しました。  
ではWrapBoxを使って、メニューを作りなおしてみたいと思います。  
ありがとうございます。

ちなみになのですが、「プレイヤーが整理ボタンを押したタイミングで、名前順や価格順にソートする」という処理を作るのは、結構手間のかかるものでしょうか？

---

<div class="post-metadata">

**Author:** ![YuukiOgino](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@YuukiOgino](https://forums.unrealengine.com/u/YuukiOgino)\
**Post date:** [May 3, 2018, 5:19pm UTC](https://forums.unrealengine.com/t/umg/424240/4 "2018-05-03T17:19:24Z")

</div>

BluePrintでソート機能は確かデフォルトで用意されていないため、手間はかかります。  
  
以下のAnswerHubにFloatのソート方法が書かれているので参考に実装してみてください。

[Sorting Float Array Numerically?](https://answers.unrealengine.com/questions/176672/sorting-float-array-numerically.html)

---

<div class="post-metadata">

**Author:** ![Anonymous\_6c34735644e2a053ad9e550d96521030](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Anonymous\_6c34735644e2a053ad9e550d96521030](https://forums.unrealengine.com/u/Anonymous_6c34735644e2a053ad9e550d96521030)\
**Post date:** [May 4, 2018, 2:40am UTC](https://forums.unrealengine.com/t/umg/424240/5 "2018-05-04T02:40:17Z")

</div>

ご回答ありがとうございます。

やはりソート機能を実装するにはひと手間かかるのですね。  
頂いたURLの説明を参考に、実装できるかどうか試してみたいと思います。

そして、作りたかったメニューの形はWrapBoxを使って無事に作れそうです。  
お二方、ご教示どうもありがとうございました。
