मैं एक 2D प्लेटफ़ॉर्म गेम बना रहा हूं जिसमें यदि खिलाड़ी आधार / मैदान से गिर जाता है तो मैं चाहता हूं कि खिलाड़ी निकटतम चेकपॉइंट पर प्रतिक्रिया दे। हालांकि मैं चाहता हूं कि खिलाड़ी मैदान और रिस्पॉन्स से गिरने के बीच देरी हो। यह लक्ष्य प्राप्त करने के लिए मेरे कोड का अनुभाग है:
private void OnTriggerEnter2D(Collider2D collision)
{
Debug.Log(collision.tag);
if (collision.tag.Equals("Kill"))
{
StartCoroutine("Respawn");
}
else if(collision.tag.Equals("Checkpoint"))
{
Animator flag = collision.GetComponent<Animator>();
if (!flag.GetBool("hasCrossed"))
{
flagCounter++;
flag.SetBool("hasCrossed", true);
checkpoint = collision.gameObject.transform.position;
}
}
}
IEnumerator Respawn()
{
yield return new WaitForSeconds(respawnDelay);
transform.position = checkpoint;
}
यह छोटे रिस्पॉन्स देरी के लिए ठीक काम करता है जैसे 1 या 2 सेकंड। लेकिन 5 सेकंड की देरी को बढ़ाने पर, निकटतम चेकपॉइंट पर प्रदर्शित होने के बाद खिलाड़ी एक पल में गायब हो जाता है और फिर कुछ पुनरावृत्तियों के बाद खिलाड़ी फिर से दिखाई देता है।
मैं इसे कैसे ठीक करूं?