HUDを使用してすべてのキャラクターのHitPointの値を表示したいのです。
一人ずつCharacterを指定してそれぞれCastしていくと値をとる事は出来るのですが、キャラクターが多い場合ForEachLoopを使って一括でやりたいと思います。
しかし変数の値を取る方法がわかりません。
それぞれのCharacterBlueprintが持っている変数HitPointの値を一度に取得するにはどうすればよいのでしょうか。
CharacterクラスがHitPointを持っているのなら、"As Character"を引っぱってそのままドロップしたコンテキストメニュー内のVariableの中にGetHitPointというものがないでしょうか?
公開されている変数であればGetHitPoint経由で中の値を取得することが可能なはずです。
お世話になります。プログラムに詳しくないので根本的に使い方が間違っているかもしれません。
例えばMyCharacterを3つ複製してMyCharacter2,MyCharacter3,MyCharacter4というのを作ります。
それぞれのブループリントに変数のHitPointを作成して数字を入力します。
図の下のようにそれぞれキャストでGet HitPointの値を参照する事が出来ます。
これをForEachLoopでまとめて参照したいのですが、Cast to CharacterからはHitPointが出てきません。
やり方がちょっとわからないのですが、CharacterというクラスにHitPointを作って継承させるとかになるのでしょうか。
長い間つまづいており、解決策がお分かりでしたら宜しくお願いします。
なるほど。仰りたい事がわかりました。
全てのCharacterを取得して、その中から特定のキャラクターのみのHitPointをとりだしたいということですよね?
元々CharacterというクラスはUE4に既に存在しているもので、これはHitPointは当然持ちませんから、独自にCharacterを継承したMyCharacterというクラスを作ることになります。
このMyCharacterがHitPointを持っていればGetHitPointはできるはずです。
GetAllActorsOfClassからMyCharacterを取得してActorをMyCharacterにキャストからそれをループで回せばいけるはずです。