1
เกิดอะไรขึ้นกับ coroutine respawn ของฉัน?
ฉันกำลังสร้างเกม 2D Platformer ซึ่งหากผู้เล่นตกลงจากฐาน / พื้นดินฉันต้องการให้ผู้เล่นเกิดที่จุดตรวจที่ใกล้ที่สุด อย่างไรก็ตามฉันต้องการให้มีความล่าช้าระหว่างผู้เล่นล้มลงจากพื้นและเกิดใหม่ นี่คือส่วนของรหัสของฉันเพื่อให้บรรลุเป้าหมายนี้: 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; } วิธีนี้ใช้งานได้ดีสำหรับการเกิดใหม่ล่าช้าประมาณ …
19
unity
coroutines