所以我现在在场景中有一个硬币,我将其设置为触发器并在遇到它时消失,我有功能代码,当我按空格键时,我总是跳起来,但是我只想成为收集硬币后就能跳起来。
好吧,我真的不知道从哪里开始,我是2天前刚开始写代码的人。我似乎在YouTube上找不到任何内容。
//-----------This Code allows the coin to disappear when collected-----------
{
private void OnTriggerEnter(Collider plyr)
{
if (plyr.gameObject.tag == "Player")
gameObject.SetActive(false);
}
}
//---------------------------This is Jump----------------------------------
if (onGround)
{
if (Input.GetButtonDown("Jump"))
{
rb.velocity = new Vector3(0f, 50f, 0f);
onGround = false;
}
}
}
void OnCollisionEnter(Collision other)
{
if (other.gameObject.CompareTag("Ground"))
{
onGround = true;
}
}
答案 0 :(得分:0)
定义一个布尔值以跟踪是否收集了硬币以及Player脚本中的OnTriggerEnter方法。我假设您有一个用于硬币对象的标签,称为“硬币”。
private bool coinCollected = false
private void OnTriggerEnter(Collision other)
{
if(other.gameObject.CompareTag("Coin"))
{
coinCollected = true;
}
}
然后修改您的跳转方法:
if (onGround)
{
if (Input.GetButtonDown("Jump"))
{
rb.velocity = new Vector3(0f, 50f, 0f);
onGround = false;
coinCollected = false;
}
}
}