UDK: Comprobando el tipo de actor en el proyectil ProcessTouch


10

Entonces, para ser breve, estoy tratando de teletransportar un peón cuando es golpeado por un proyectil (o dañado por cualquier arma en mi juego).

En este momento, estoy tratando de llamar a Pawn.SetLocation en ProcessTouch del proyectil. Eso es un problema porque ProcessTouch golpeará a cualquier actor, no solo a un peón. Además, cualquier intento de verificar el "Actor Otro" de ProcessTouch arroja errores.

He intentado un montón de soluciones (incluida la creación de un evento TakeDamage en la clase de controlador Pawn), pero fue en vano.

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

Este código se queja de que Pawn es una mala expresión. ¿De qué otra forma debería verificar el tipo de actor aquí?

Respuestas:


0

Creo que echas de menos lanzar tu peón como:

if( myDesiredClass(Other) != none)

Compruébalo y dame tu opinión si tienes algún problema nuevo.


0

En mi opinión, puedes hacerlo marcando la clase

Other.class == class'Pawn '

o lanzando y verificando si es Ninguno o no

Peón (Otro)! = Ninguno

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.