УДК: Перевірка типу актора в снаряді ProcessTouch


10

Отже, якщо коротко, я намагаюся телепортувати пішака, коли його вдарив снаряд (або пошкоджений будь-якою зброєю в моїй грі.)

Зараз я намагаюся просто зателефонувати Pawn.SetLocation у процесорі ProcessTouch снаряда. Це проблема, тому що ProcessTouch вдарить будь-якого актора, а не лише пішака. Крім того, будь-які спроби перевірити "Actor Other" ProcessTouch призводять до помилок.

Я спробував купу рішень (включаючи створення події 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;
    }

Цей код скаржиться, що пішак поганий вираз. Як ще я повинен перевірити тип актора?

Відповіді:


0

Я думаю, ти пропускаєш пішака як:

if( myDesiredClass(Other) != none)

Перевірте це та дайте мені відгуки, якщо ви зіткнулися з будь-якою новою проблемою.


0

На мою думку, ви можете це зробити, перевіривши клас

Other.class == class'Pawn '

або за допомогою кастингу та перевірки, чи немає, чи ні

Пішак (Інший)! = Жоден

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.