つまり、簡単に言うと、ポーンが発射体に当たったとき(またはゲーム内の武器によって損傷したとき)に、ポーンをテレポートしようとしています。
現在、私は発射体のProcessTouchでPawn.SetLocationを呼び出そうとしています。ProcessTouchはポーンだけでなく任意のアクターを攻撃するため、これは問題です。さらに、ProcessTouchの「Actor Other」を確認しようとすると、エラーがスローされます。
私はたくさんの解決策を試しました(PawnコントローラークラスでイベントTakeDamageを作成することを含む)が、役に立ちませんでした。
simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNormal)
{
if (Other != Instigator)
{
//This is where the Other.TakeDamage goes if we are using a traditional gun.
if (Other == Pawn);
{
Other.SetLocation(0,0,0);
}
}
Destroy;
}
このコードは、Pawnが悪い表現であると文句を言います。ここで他にどのように俳優のタイプをチェックする必要がありますか?