有一个布尔值来标记箱子已经被打开,如
isOpen
或wasOpened
。
然后更改 if 语句以包含 wasOpened 为 false 的检查。在 if 语句中设置 wasOpened true 。
private void OnTriggerStay2D(Collider collision)
{
if(collision.gameObject,CompareTag("Player") && Input.GetKey(KeyCode.E) && !wasOpened)
{
anim.SetBool("opening", true);
coins += 1;
coinsText.text = "Coins: " + coins;
Coin.SetActive(true);
Destroy(textBox, 0.2f);
getCoin = true;
wasOpened = true;
}
}
这意味着您只能打开它一次。请记住在其余变量声明中进一步创建
wasOpened
变量。
并作为未来问题的注释。请以文本形式提供代码,并像我一样采用代码格式。为了回答你的问题,我不得不从图像中转录你的代码,这会让人们不想回答你的问题。