UDK: Memeriksa tipe aktor dalam proyektil ProcessTouch


10

Jadi, singkatnya, saya mencoba untuk memindahkan gadai saat terkena proyektil (atau rusak oleh senjata apa pun di gim saya.)

Saat ini, saya mencoba menelepon Pawn.SetLocation di ProcessTouch proyektil. Itu masalah karena ProcessTouch akan mengenai aktor mana pun, bukan hanya gadai. Selain itu, setiap upaya untuk memeriksa "Aktor Lain" ProcessTouch melempar kesalahan.

Saya sudah mencoba banyak solusi (termasuk membuat acara TakeDamage di kelas kontroler Gadai,) tetapi tidak berhasil.

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

Kode ini mengeluh bahwa Gadai adalah ekspresi yang buruk. Bagaimana lagi saya harus memeriksa jenis aktor di sini?

Jawaban:


0

Saya pikir Anda merindukan gadai Anda sebagai:

if( myDesiredClass(Other) != none)

Periksa dan berikan saya umpan balik jika Anda menghadapi masalah baru.


0

Menurut pendapat saya, Anda bisa melakukannya dengan memeriksa kelas

Other.class == class'Pawn '

atau dengan casting dan memeriksa apakah itu tidak ada atau tidak

Gadai (Lainnya)! = Tidak ada

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.