UDK: vérification du type d'acteur dans le projectile ProcessTouch


10

Donc, pour être bref, j'essaie de téléporter un pion quand il est frappé par un projectile (ou endommagé par une arme dans mon jeu.)

En ce moment, j'essaie d'appeler Pawn.SetLocation dans le ProcessTouch du projectile. C'est un problème car ProcessTouch frappera n'importe quel acteur, pas seulement un pion. De plus, toute tentative de vérification de "l'Acteur Autre" de ProcessTouch génère des erreurs.

J'ai essayé un tas de solutions (y compris la création d'un événement TakeDamage dans la classe de contrôleur Pawn), mais en vain.

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

Ce code se plaint que Pawn est une mauvaise expression. Sinon, comment vérifier le type d'acteur ici?

Réponses:


0

Je pense que vous manquez de lancer votre pion comme:

if( myDesiredClass(Other) != none)

Vérifiez-le et donnez-moi des commentaires si vous rencontrez un nouveau problème.


0

À mon avis, vous pouvez le faire en vérifiant la classe

Other.class == class'Pawn '

ou en lançant et en vérifiant si c'est None ou non

Pion (Autre)! = Aucun

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.