をキャストします。問題は、C++基本クラスAOnlinePawnから継承するOnlinePawn Blueprintがあることです。プレーヤーが試合に参加するたびに、私はこのBlueprintを作成し、それを常にデータを受け取るアレイにキャストします。UnrealのエンジンC++ SpawnActorは、私がUnrealのエンジン4.15.0にマルチプレイヤーゲームをコーディングすることだし、それはほとんど私がそれの挙動を把握することはできませんコードのおかしく行を除いて働いて
問題は、関数によって返されたAActor *をAOnlinePawn *にキャストしようとすると次のコードが失敗し、nullを返します。実際に生成されたのでキャストの問題です。
キャスト:
playersInstances[i] = Cast<AOnlinePawn>(GetWorld()->SpawnActor(OnlinePlayer->GeneratedClass, &position, &rotator));
青写真を参照:
static ConstructorHelpers::FObjectFinder<UBlueprint> OnlinePlayerBP(TEXT("Blueprint'/Game/Blueprints/OnlinePawn.OnlinePawn'"));
OnlinePlayer = OnlinePlayerBP.Object;
青写真の説明、親クラスを記述:
ので、ここでの問題は何でしょうか。とにかくワークフローを改善できますか?回避策がありますか?
ドキュメントによれば関数の非テンプレートバージョン]がある(https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/UWorld/SpawnActor/6/ GetClass()は動作しませんので、index.htmlを)それが推奨される方法 – UnholySheep
ちょうど1つのより多くの事がありますあるように見えるので、そこにも例は、テンプレートのバージョンを使用して、この行は、AOnlinePawnクラスのスペースではありません(たとえそれがあったとしても、AOnlinePawn自体を継承するのではなく、AOnlinePawnを継承する青写真を生成したい)。この関数の署名と一致するOnlinePawn青写真クラスへの参照を取得するにはどうすればよいですか?ちなみに@Moumsに感謝! –
@GabrielGarcia私は自分の投稿を編集しました。助けてくれることを願っています。 – Moums