UDK: controllo del tipo di attore in ProcessTouch proiettile


10

Quindi, per essere breve, sto cercando di teletrasportare una pedina quando viene colpita da un proiettile (o danneggiata da qualsiasi arma nel mio gioco).

In questo momento, sto provando a chiamare Pawn.SetLocation nel ProcessTouch del proiettile. Questo è un problema perché ProcessTouch colpirà qualsiasi attore, non solo una pedina. Inoltre, qualsiasi tentativo di controllare "Actor Other" di ProcessTouch genera errori.

Ho provato un sacco di soluzioni (incluso la realizzazione di un evento TakeDamage nella classe del controller di Pedone), ma senza risultati.

    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;
    }

Questo codice si lamenta che Pawn è una cattiva espressione. In quale altro modo dovrei controllare il tipo di attore qui?

Risposte:


0

Penso che ti manca lanciare il tuo pedone come:

if( myDesiredClass(Other) != none)

Controllalo e inviami feedback in caso di nuovi problemi.


0

Secondo me, puoi farlo controllando la lezione

Altro.class == class'Pawn '

o lanciandolo e verificandolo, indipendentemente dal fatto che sia Nessuno o meno

Pawn (Other)! = Nessuno

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.