1 सवाल: मोबाइल पर हथियार स्विच करना एकता

पर बनाया गया सवाल Wed, May 8, 2019 12:00 AM

तो, मेरे पास एक प्लेसहोल्डर के अंदर हथियार स्विच करने के लिए निम्न कोड है और मैं इसे एक बटन से भी हथियार स्विच करना चाहता हूं, इसलिए मैं उन्हें अपने मोबाइल पर भी स्विच कर पाऊंगा।

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class WeaponSwitcher : MonoBehaviour {
    public int selectedWeapon = 0;

    // Use this for initialization
    void Start () {
        SelectWeapon();
    }

    // Update is called once per frame
    void Update () {
        int previousSelectedWeapon = selectedWeapon;

        if (Input.GetAxis ("Mouse ScrollWheel") > 0f) 
        {
            if (selectedWeapon >= transform.childCount - 1)
                selectedWeapon = 0;
            else
                selectedWeapon++;
        }
        if (Input.GetAxis ("Mouse ScrollWheel") < 0f) 
        {
            if (selectedWeapon <= 0)
                selectedWeapon = transform.childCount - 1;
            else
                selectedWeapon--;
        }

        if (previousSelectedWeapon != selectedWeapon) 
        {
            SelectWeapon ();
        }

    }

    void SelectWeapon()
    {
        int i = 0;
        foreach (Transform weapon in transform) 
        {
            if (i == selectedWeapon)
                weapon.gameObject.SetActive (true);
            else
                weapon.gameObject.SetActive (false);
            i++;
        }
    }
}

मुझे क्या करना चाहिए? मैं नौसिखिया हूं और मैंने जो कुछ भी आजमाया है वह काम नहीं करता है: /

मैंने बटन के लिए एक स्वतंत्र स्क्रिप्ट के साथ कोशिश की है कि कौन सा हथियार सक्रिय है और दूसरे (वहाँ सिर्फ दो) को निष्क्रिय करें, लेकिन यह काम नहीं किया।

public class ChangeWeapon : MonoBehaviour
{ 
    public GameObject gun; 
    public GameObject shotgun; 

    void switchWeapons () 
    { 
        gun = GameObject.Find("Gun"); 
        shotgun = GameObject.Find("Shotgun"); 

        if (gun.gameObject.activeSelf) 
        { 
            shotgun.gameObject.SetActive (true); 
            gun.gameObject.SetActive (false); 
        }
        else
        {
            shotgun.gameObject.SetActive (false); 
            gun.gameObject.SetActive (true); 
        }
    }
}
    
0
  1. कृपया हमें वह सब कुछ बताएं जो आपने कोशिश की है ताकि हम आपकी बेहतर सहायता कर सकें।
    2019-05-08 14: 26: 04Z
  2. मैंने बटन के लिए एक स्वतंत्र स्क्रिप्ट के साथ कोशिश की है कि कौन सा हथियार सक्रिय है और दूसरे (वहाँ सिर्फ दो) को निष्क्रिय करें लेकिन काम नहीं किया। public class ChangeWeapon : MonoBehaviour { public GameObject gun; public GameObject shotgun; void switchWeapons () { gun = GameObject.Find("Gun"); shotgun = GameObject.Find("Shotgun"); if (gun.gameObject.activeSelf) { shotgun.gameObject.SetActive (true); gun.gameObject.SetActive (false); } else{ shotgun.gameObject.SetActive (false); gun.gameObject.SetActive (true); } } }
    2019-05-08 15: 25: 01Z
  3. कृपया टिप्पणियों में कोड न जोड़ें, यह अपठनीय है और प्रारंभ में सभी टिप्पणियों को नहीं दिखाया जा सकता है। इसके बजाय अपना प्रश्न संपादित करें । संपादन करते समय, कृपया यह भी स्पष्ट करें कि "काम नहीं किया" से आपका क्या मतलब है। जब आप कोड चलाते हैं तो क्या होता है, और आपको इसके बजाय क्या होने की उम्मीद थी? कोई त्रुटि या अपवाद? आप पूछने के लिए
    पर पढ़ना चाह सकते हैं।
    2019-05-08 15: 25: 29Z
  4. looking for which weapon is active and deactivate the other (there just two) etc but it didn't work. परिभाषित काम नहीं किया।
    2019-05-08 18: 21: 34Z
    1 उत्तर                              1                         

    मुझे वास्तव में एक सरल समाधान मिला जो काम करता है।

    मैंने दूसरे के ऊपर दो बटन लगाए, मैंने दूसरे को निष्क्रिय कर दिया और क्लिक एक्शन पर मैं अनुसरण करता हूं:

    1. दूसरा बटन सक्षम करें
    2. पहला बटन अक्षम करें
    3. पहली बंदूक अक्षम करें
    4. दूसरी बंदूक सक्षम करें

    और vise versa।

    छवि

        
    0
    2019-05-08 18: 17: 16Z
स्रोत रखा गया यहाँ