UDK:発射物ProcessTouchでのアクタータイプのチェック


10

つまり、簡単に言うと、ポーンが発射体に当たったとき(またはゲーム内の武器によって損傷したとき)に、ポーンをテレポートしようとしています。

現在、私は発射体の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が悪い表現であると文句を言います。ここで他にどのように俳優のタイプをチェックする必要がありますか?

回答:


0

私はあなたのポーンを次のようにキャストするのを逃すと思います:

if( myDesiredClass(Other) != none)

確認して、新しい問題が発生した場合はフィードバックをお寄せください。


0

私の意見では、クラスをチェックすることでそれを行うことができます

Other.class == class'Pawn '

またはキャストしてそれがなしかどうかを確認する

ポーン(その他)!=なし

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.