UDK: प्रोजेक्टाइल प्रक्रिया में अभिनेता प्रकार की जाँच करना


10

तो, संक्षिप्त होने के लिए, मैं एक मोहरे को टेलीपोर्ट करने की कोशिश कर रहा हूं जब यह एक प्रक्षेप्य (या मेरे खेल में किसी भी हथियार से क्षतिग्रस्त) द्वारा मारा गया है।)

अभी, मैं प्रोजेक्टाइल के प्रॉसेसटच में सिर्फ Pawn.SetLocation को कॉल करने की कोशिश कर रहा हूं। यह एक समस्या है क्योंकि प्रॉसेसटच किसी भी अभिनेता को हिट करेगा, न कि केवल एक मोहरा। इसके अतिरिक्त, ProcessTouch के "अभिनेता अन्य" की जांच करने का कोई भी प्रयास त्रुटियों को फेंकता है।

मैं समाधान का एक गुच्छा (प्यादा नियंत्रक वर्ग में एक घटना टेकडैम बनाने सहित) की कोशिश की है, लेकिन कोई फायदा नहीं हुआ।

    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

मेरी राय में आप या तो कक्षा की जाँच कर सकते हैं

अन्य.क्लास == class'Pawn '

या यह कास्टिंग और यह जाँच कर रहा है कि यह कोई नहीं है या नहीं

प्यादा (अन्य)! = कोई नहीं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.