gpt4 book ai didi

c# - unity OnMouseUp 和 OnCollisionEnter 同时

转载 作者:太空宇宙 更新时间:2023-11-03 17:48:21 24 4
gpt4 key购买 nike

我有一个 void OnCollisionEnter(Collision other)void OnMouseUp(),但我希望它是这样的,如果我松开鼠标,那么碰撞应该是检查。所以我想要另一个函数中的一个函数。

void OnMouseUp()
{
void OnCollisionEnter(Collision other)
{

}
}

当然这样不行,那我该怎么办呢?

最佳答案

OnCollisionEnter 和 OnMouseUp 在一个帧中被调用一次,并且在您重复该事件或再次发生碰撞之前不会再次调用。您需要一个 bool 标志来保证您不会错过 OnMouseUpOnCollisionEnter,因为这发生得非常快。

bool collided = false;

void OnMouseUp()
{
if (collided)
{
Debug.Log("Collding while mouse is up");
}
}

void OnCollisionEnter(Collision other)
{
collided = true;
}

void OnCollisionExit(Collision collision)
{
collided = false;
}

甚至没有 OnMouseUp

bool collided = false;

void Update()
{
if ((Input.GetMouseButton(0)) && collided)
{
Debug.Log("Collding while mouse is up");
}
}

void OnCollisionEnter(Collision other)
{
collided = true;
}

void OnCollisionExit(Collision collision)
{
collided = false;
}

关于c# - unity OnMouseUp 和 OnCollisionEnter 同时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50415769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com