स्पर्श के बाद instantiating वस्तुओं

वोट
0

मैं चारों ओर से खुदाई कर दिया गया है और इस सवाल का जवाब खोजने की कोशिश लेकिन कुछ नहीं मिला। मैं एक साधारण क्लिकर खेल बनाने के लिए कोशिश कर रहा हूँ, लेकिन कम से अटक गया बहुत शुरू ... जो बहुत अच्छा नहीं है। मुझे क्या करना कोशिश कर रहा हूँ के बाद एक स्पर्श खिलाड़ी पैसे दे है (वर्तमान में सिर्फ + 1 $ जोड़ने) और एक पाठ वस्तु कह + 1 $ में उत्पन्न करने वाला। वस्तु की तरह प्रकट नहीं होता लगता है। मैं भी एक एनीमेशन जो मुझे यकीन है कि अगर यह अच्छी तरह से बनाया गया है नहीं कर रहा हूँ बनाया है। दोनों वर्गों:

public class TapTextMovement : MonoBehaviour {

private int frameCount = 0;
private float temp;
public int modifier = 0;

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
    if (frameCount < 40) {
        temp = this.transform.position.y + 1F * modifier;

        this.transform.position = new Vector3(this.transform.position.x, temp, this.transform.position.z);
    } else if (frameCount < 50) {
        temp = this.transform.position.y + 0.5F * modifier;

        this.transform.position = new Vector3(this.transform.position.x, temp, this.transform.position.z);
    } else if (frameCount < 55) {
        temp = this.transform.position.y + 0.3F * modifier;

        this.transform.position = new Vector3(this.transform.position.x, temp, this.transform.position.z);
    } else if (frameCount < 60) {
        temp = this.transform.position.y + 0.15F * modifier;

        this.transform.position = new Vector3(this.transform.position.x, temp, this.transform.position.z);
    } else {
        Object.Destroy (this);
    }
    frameCount++;
}
}

तथा:

public class MoneyTap : MonoBehaviour {

public GameObject money;
private Text moneyText;
public long moneyAmount = 0;
public GameObject tapText;
private Vector2 tempPos;
private Vector3 fullPos;

void Start () {
    moneyText = money.GetComponent<Text> ();
}

// Update is called once per frame
void Update ()
{
    moneyText.text = moneyAmount + $;

    if (Input.touchCount > 0) {
        if (Input.GetTouch (0).phase == TouchPhase.Began) {

            tempPos = Input.GetTouch(0).position;
            fullPos = new Vector3 (tempPos.x, tempPos.y, 0);


            RaycastHit2D hitInfo = Physics2D.Raycast (Camera.main.ScreenToWorldPoint (Input.GetTouch(0).position), Vector2.zero);
            if (hitInfo) {
                moneyAmount++;;
                Instantiate(tapText, fullPos, Quaternion.identity);
            }
        }
    }
}
}

मैं थोड़ा एकता के लिए नया तो मदद के हर बिट की सराहना की जाएगी हूँ! धन्यवाद!

30/08/2017 को 13:01
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
1

दृष्टांत के लिए वस्तु उपयोग समारोह:

GameObject go = Instantiate(tapText, fullPos, Quaternion.identity) as GameObject; 

इसके अलावा अद्यतन में एनीमेशन का निर्माण नहीं करतीं, क्योंकि यह समस्याओं का कारण बनता है और प्रदर्शन को प्रभावित।

आपके इन एक समस्या हो सकती है TapTextMovement , वर्ग यह प्रतियां सभी यह की पटकथा, जब आप वस्तु का दृष्टांत है, तो आप पुनर्स्थापित करना चाहिए frameCount , संशोधक पर प्रारंभ , या अपनी स्क्रिप्ट पूरी तरह से बदल जाते हैं।

क्योंकि अगर आप दृश्य में किसी मौजूदा ऑब्जेक्ट की प्रतिलिपि इसे अपनी स्क्रिप्ट मूल्यों को बचाने चाहिए, एक पूर्वनिर्मित बनाने और इसे से instantiating प्रयास करें।

अब यह सिर्फ यह instantiating के रूप में करने के बाद अपने वस्तु को निकालने के लिए लगता है frameCount 60 से अधिक पहले से ही है।

जाँच करें कि अगर काम करता है।

30/08/2017 को 14:23
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more