আমি একটি 2 ডি প্ল্যাটফর্মার গেম তৈরি করছি যার মধ্যে প্লেয়ারটি যদি বেস / গ্রাউন্ড থেকে পড়ে যায় তবে আমি চাই খেলোয়াড়টি নিকটবর্তী চেকপয়েন্টে পুনর্বার awn তবে আমি চাই খেলোয়াড়ের মাটিতে পড়ে যাওয়া এবং রেসনওয়ের মধ্যে দেরি হোক। এই লক্ষ্যটি অর্জনের জন্য এটি আমার কোডের বিভাগ:
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 সেকেন্ডে বাড়ানোর পরে, নিকটস্থ চেকপয়েন্টে উপস্থিত হওয়ার পরে প্লেয়ারটি তাত্ক্ষণিকভাবে অদৃশ্য হয়ে যায় এবং তারপরে বেশ কয়েকবার পুনরাবৃত্তি করার পরে প্লেয়ারটি আবার উপস্থিত হয়।
এটি 2 দ্বিতীয় বারের বিলম্বের জন্য
এটি 5 দ্বিতীয় বারের বিলম্বের জন্য
আমি এটা কিভাবে ঠিক করবো?