画面上に表示されているボタンをクリックすると、自動生成されているアクターのエフェクトが表示したり非表示になったりさせたいです。
スポーンしてくるアクターにつけているVISIBLEのチェックを入れたり切ったりすればいいのは、わかっているのですが、どうやったら入り切りするのかわからず、、困っています。レベル側のイベントの先のノードをご教授いただけないでしょうか?
ブレークポイントが反応していない為、キャストがうまくいっていない事が原因なように思っているのですが、、。
※UMG側でボタンがクリックされるとイベントディスパッチャーでレベル側で処理するようにしています。
ボタンがクリックされた時の反応が来ているのはデバックできていて問題ないようです。
まず GetAttachParentActor
ですが、これはアタッチした先のActorを取得するものです。
で、 LevelBlueprint
上で Self
を指定していますが…レベルの上には何もありません。
ですので、画像のノードでは正しい処理はできないでしょう。
LevelBlurprint上の話ですから、素直にレベル上のActorの参照を取得してください。
他にもツッコミどころが大量にあるのですが、言及しないでおきます。
現在レベル上に存在するすべての指定のクラスのActor
で良いなら、GetAllActorsOfClass
ノードですべてのActorの参照を取得出来るので、それをForEachで処理してください
他の条件がある場合は、任意の配列変数を作って、対象となるActorをそちらに格納するようにしてください
ご回答ありがとうございます。何とかvisibleの入り切りは出来ました。ボタンをクリックするとクリックした時点に出現しているアクターのエフェクトの表示非表示ができるようになりました。ありがとうございます。しかしながら、、、新たな問題が、、ツッコミどころにあたる部分かもしれませんが、新たな問題につきましても、ご教授頂けると幸いです。新たな問題というのは、生成されるアクターに対して同時に(画面に出ているアクターすべて)エフェクトの表示非表示を行いたいのですが、現状は、クリックした時点に出現しているアクターのエフェクトにしか反応してくれません。しかも新しいアクターが生成されると、その新しいアクターのエフェクトの表示非表示にしか反応しなくなります。画面全体に出ているアクターのエフェクトの表示非表示に影響させるには、どの時点で、アクターのvisibleにアクセスすればよいのでしょうか?
早速のご回答ありがとうございます。レベル上に存在するすべてで問題ありませんので`GetAllActorsOfClassで行いたいと思います。重ねての質問で申し訳ありませんが、ForEachでノード検索を描けると大量にヒットしますが、どれが適切なのか、、。ForEachで処理するとはどういうことなのでしょうか?
ありがとうございました。画面に出ているアクターのエフェクトは処理できるようになりました。