禁用GUI纹理

本文关键字:纹理 GUI 禁用 | 更新日期: 2023-09-27 18:13:06

我有一个gui纹理,适合我的整个屏幕和一个脚本附加到它。每当我按压屏幕(在吉他纹理上)时,就会根据鼠标位置发射炮弹。问题是我设置了一个暂停按钮,当我按下它时,在游戏暂停之前就会发射出一枚炮弹。guitexture的脚本使用OnMouseDown()方法,pause按钮使用OnGui()方法。请帮忙!我试过用布尔值,但没有用。这两个方法好像同时被调用了

禁用GUI纹理

我在自己的游戏中也遇到过类似的问题,虽然这并不是最好的解决方法,但却非常适合我。

暂停按钮在屏幕的左上方,所以当触摸/点击屏幕时,我测试了点击区域与按钮相同,最后它只会触发"点击"效果,如果它在暂停按钮区域之外。

如果你需要更多的按钮,它会变得更难,但这正是我的工作,我希望它能帮助你。

注意:Input.GetMouseButtonDown(0)适用于鼠标点击和触摸(android/iphone)。

c#:

if (Input.GetMouseButtonDown(0))
    {                
        var buttonPos = new Rect(0, 0, 100, 100);
        if (!buttonPos.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y)))
        {
            Jump();
        }
    }