【问题标题】:Disabling GUI Texture禁用 GUI 纹理
【发布时间】:2014-07-15 10:22:54
【问题描述】:

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

【问题讨论】:

  • 如果你去 Edit > Project Settings > Script Execution Order 并将你的 pause/gui 脚本放在你的射弹脚本之上/之前(或至少在默认时间之前),确实这解决了你的问题?

标签: c# unity3d 2d


【解决方案1】:

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

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

如果您需要更多按钮会变得更加困难,但这对我来说是有效的,我希望它可以帮助您。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 2013-03-06
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多