禁用GUI纹理

时间:2014-07-14 19:00:58

标签: c# unity3d 2d

我有一个gui纹理,适合我的整个屏幕,并附有一个脚本。每当我按下屏幕(在guitexture上),就会根据鼠标位置发射一个射弹。问题是我放了一个暂停按钮,当我按下它时,在游戏暂停之前发射了一个射弹。 guitexture的脚本使用OnMouseDown()方法,暂停按钮使用OnGui()方法。请帮忙 !我试图使用布尔但它没有用。似乎这两种方法同时被调用。

1 个答案:

答案 0 :(得分:0)

我的游戏遇到了类似的问题,可能不是最好的解决方案,但对我来说效果很好。

暂停按钮位于左侧屏幕的顶部,因此当触摸/点击屏幕时,我测试了点击区域与按钮相同,最后它只会触发&#34 ;点击"如果它在暂停按钮区域之外,则会生效。

如果您需要更多按钮会变得更难,但这对我有用,我希望它可以帮助您。

注意: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();
        }
    }