Unity3d 单击按钮时防止跳转
我有一个菜单场景,玩家可以在其中跳跃。在真正的游戏开始之前只是为了好玩。游戏开始于点击一个UI按钮。但如果我单击按钮,播放器将在加载新场景之前跳转。我想防止这种情况发生。因此,在跳转之前,我必须检查是否没有点击任何按钮。有什么办法吗 我用一个静态变量试过了。但问题是,调用跳转函数的脚本首先运行。在Buttonscript之前,我可以将变量设置为falseUnity3d 单击按钮时防止跳转,unity3d,unity3d-2dtools,Unity3d,Unity3d 2dtools,我有一个菜单场景,玩家可以在其中跳跃。在真正的游戏开始之前只是为了好玩。游戏开始于点击一个UI按钮。但如果我单击按钮,播放器将在加载新场景之前跳转。我想防止这种情况发生。因此,在跳转之前,我必须检查是否没有点击任何按钮。有什么办法吗 我用一个静态变量试过了。但问题是,调用跳转函数的脚本首先运行。在Buttonscript之前,我可以将变量设置为false void Update() { isGrounded = Physics2D.OverlapCircle(GroundCheck1.p
void Update()
{
isGrounded = Physics2D.OverlapCircle(GroundCheck1.position, 0.15f, groundLayer);
// Here I want to check if the click doesnt hit a button
if (Input.GetMouseButtonDown(0) && isGrounded)
{
GetComponent<AudioSource>().Play();
// Here I set Jump to true, so my FixedUpdate Method can execute the Jump
jump = true;
}
}
void Update()
{
IsGround=Physics2D.重叠圆(接地检查1.位置,0.15f,接地层);
//这里我想检查一下点击是否没有点击按钮
if(Input.GetMouseButtonDown(0)和&isground)
{
GetComponent().Play();
//在这里,我将Jump设置为true,因此我的FixedUpdate方法可以执行跳转
跳跃=真;
}
}
非常简单
检查鼠标是否位于GUI元素上:
EventSystem.current.IsPointerOverGameObject()
所以
这将检查以确保如果他们单击鼠标并且没有在GUI元素上,那么玩家可以跳转
顺便说一句,当您遇到这样的大条件时,最好将它们分解为助手方法。谢谢!!很简单-但我刚刚开始在团结中发展。你帮了很多忙。我会尽快将此标记为已回答。(延迟7分钟)
if (Input.GetMouseButtonDown(0)
&& isGrounded
&& !EventSystem.current.IsPointerOverGameObject())