お世話になっております。
ゲームのポーズメニューにWidgetを使っています。
変数管理でのカーソル処理やアニメーションを用いてイメージの移動などをさせた後、
もう一度最初から呼び出す際にはそれらを初期化したいと思います。
(アニメーションは動かす前の位置、変数はデフォルトの値に戻したい)
しかしRemove from Parent でWidgetを消しても、変化した変数等はそのままのようにみえます。
例えばインスタンスをデストロイのあとスポーンするような、
そういう初期化をしたい場合にWidgetではどうすればよいのでしょうか。
fluflu111
(fluflu111)
2
Remove from Parent 関数は、Widgetを画面上から取り除く関数です。
あくまで、描画をやめるというだけなので変数等はおっしゃる通りそのまま残ります。
これが嫌なら次のようにして下さい。
Begin Playでは、ウィジットを作成してそのリファレンスを変数に保存しています。
Initialize Widgetでは、その変数に指定無しでセットをおこないます。
これで、変数が一旦空になります。
その後、もう一度ウィジェットを作成してセットし直します。
これで再度Add to Viewportすれば初期化されたウィジットが表示されると思います。
あと画像では、イベントに繋いで初期化していますが別に任意のタイミングでいいです。