您好,我在 Unity 中有一个 2d Platformer,我有一个带有盒子碰撞器的精灵,它检测它是否与播放器接触,当它接触到播放器时,它应该播放音频源,当音频源完成时暂停它应该恢复时间并销毁探测器。我试过 Enumerators 但它不会暂停时间并且检测器不会停止工作。
这是代码:
public AudioSource UFOTALK1;
public GameObject player;
public BoxCollider2D sp;
bool used = false;
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.CompareTag("Player"))
{
if (!used)
{
waiter();
UFOTALK1.Play();
used = true;
}
else
{
}
}
}
void PauseGame()
{
player.GetComponent<PlayerMovement>().enabled = false;
}
void ResumeGame()
{
player.GetComponent<PlayerMovement>().enabled = true;
}
IEnumerator waiter()
{
PauseGame();
yield return new WaitForSeconds(7.392f);
sp.enabled = false;
ResumeGame();
}
}