質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
UE4

UE4はUnreal Engine(アンリアルエンジン)の第4世代です。 UEは、Epic Gamesより開発されたゲームエンジンです。

Q&A

解決済

1回答

2120閲覧

UE4 GameInstanceでコイン取得数を管理してUIに表示したいが、Widget上のTextが消えず重なってしまう。

Unreal_u

総合スコア6

UE4

UE4はUnreal Engine(アンリアルエンジン)の第4世代です。 UEは、Epic Gamesより開発されたゲームエンジンです。

0グッド

0クリップ

投稿2020/12/30 07:18

前提・実現したいこと

プレイヤーが集めることのできるコインをBluePrintで作成し、コインの取得数をGameInstanceに記憶させておきたい。そして、コインをとるたびにGameInstance内の変数の値を更新・取得してWidgetに表示したい。

発生している問題・エラーメッセージ

コインのBluePrint内で、プレイヤーとOverlapするたびにGameInstanceのコイン取得数を+1して、Widgetにその数字を表示させました。しかし、コインをとるたび、一度表示されたTextが消えないままTextが重なっていってしまいます。コインをとるたびに001→002→003・・・と数字が更新されるようになってほしいです。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

もう解決しているかもしれませんが一応

コイン生成毎にウィジェットを作成してしまっている為、コイン一つ取ってそのコインが生成したウィジェットを更新しても他のコインが生成したウィジェットを更新していない為過去のTextが消えてないように見えています。
スコア表示ウィジェットはプレイヤー側のキャラクター等で1度だけ生成し、
コインからはプレイヤー側のキャラクター経由でScoreUpdateを呼び出すようにすることで実現できるかと思います

投稿2021/01/05 12:39

MMashiro

総合スコア2378

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Unreal_u

2021/01/07 11:25

返答が遅くなり申し訳ございませんでした。なるほどウィジェットが複数立ち上がっているのですね。 コインの取得数をプレイヤーに管理させることで重なりは解消できました。 複数のコインをレベル上に配置する場合、コイン側にscore管理させることはナンセンスなのでしょうか。べき論がもしございましたらご教授いただけると幸いです。
MMashiro

2021/01/07 11:31

コイン側にスコアを管理させた場合、スコア処理がコインの数分走ることになり処理負荷的にもよくない上、 どのコインが正しいスコアを指しているかも不明になる為あまりお勧めはしません スコアはゲームを通じて常に一つしか存在しないものの為管理はPlayerCharacterやGameModeやGameInstance等で管理することをお勧めします
Unreal_u

2021/01/07 12:14

MMashiroさん ご回答いただきありがとうございます。納得しました! 最初のご回答の中で「コインからはプレイヤー側のキャラクター経由でScoreUpdateを呼び出すようにすることで実現できるかと思います」とありましたが、技量不足でこのあたりがうまくできず、でした。 (イベントのバインド・ディスパッチャーのあたりだと思うのですが、こちらはまた別の質問になってしまっていると思いますので控えます。)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問