UDK: Mermi ProcessTouch'da aktör türünü kontrol etme


10

Kısacası, bir merminin çarptığı (veya oyunumdaki herhangi bir silahın hasar gördüğü) bir piyonu ışınlamaya çalışıyorum.

Şu anda, merminin ProcessTouch'ında Pawn.SetLocation'ı çağırmaya çalışıyorum. Bu bir problem çünkü ProcessTouch sadece bir piyona değil, herhangi bir aktöre çarpacak. Ayrıca, ProcessTouch'ın "Diğer Aktör" ünü kontrol etme girişimleri hatalar atar.

Bir sürü çözüm denedim (Piyon denetleyici sınıfında bir olay TakeDamage yapma dahil), ama boşuna.

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

Bu kod, Piyon'un kötü bir ifade olduğundan şikayet ediyor. Aktör türünü başka nasıl kontrol etmeliyim?

Yanıtlar:


0

Sanırım piyonunu şu şekilde atlamayı özledin:

if( myDesiredClass(Other) != none)

Kontrol edin ve yeni bir sorunla karşılaşırsanız bana geri bildirim verin.


0

Bence ya sınıfı kontrol ederek yapabilirsin

Other.class == class'Pawn '

veya döküm yapıp yok olup olmadığını kontrol ederek

Piyon (Diğer)! = Yok

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.