rrh
(rrh)
1
新たにCustomGameInstanceとLoadingウィジェットを作成し、Instanceのイベントを経由してレベル遷移の前後でloadingを表示しようと考えています。
添付画像のようにノードをつなぎ、イベントを呼び出すと、[Add to Viewport]の部分で「ウィジェット’Loading_C’はすでに画面に追加されています。」と出ます。
キーボードイベントで単一の呼び出しを試してみたのですがやはり同様でした。
他では表示していないのにもかかわらず、警告が取れないため困ってしまっています。
なぜこの現象が起こってしまうのでしょうか?GameInstance経由でやるものではないのでしょうか?
1 Like
seiko_dev
(seiko_dev)
2
Add to Viewportの「ターゲット」にワイヤーが2つ刺さってるのが原因かと思います。
LoadWidget変数のgetノードを1つ追加して、
そこからAddToViewportとStartAnimに1本ずつ刺さっている状態にすることをおすすめします。
今回の問題は、オブジェクト関数の「ターゲット」ピンにワイヤーを複数指すと
刺した数だけ全部関数が実行される仕様によって発生しています。
また、validate getやsetノードがあるのにわざわざ追加でgetノードを用意するのは、
分岐で通っていないノードの出力ピンからワイヤーを出して使うとバグって死ぬ事があるためです。
どうか生き伸びて下さい。
rrh
(rrh)
3
回答ありがとうございます。おっしゃる通りに変数のgetから渡すようにしたところ、警告が消えました。
(2つ用意したのは極端かとは思いますが…)
仕様に関しても教えて頂き、ありがとうございます。私の知識不足でしたので、今後の参考にさせていただきます。
ありがとうございました!
1 Like