【问题标题】:xna button touch locationxna按钮触摸位置
【发布时间】:2015-08-20 19:30:28
【问题描述】:

在我的 Xna 游戏中,我有 3 个游戏状态(菜单、关卡、正在玩)。当我点击菜单中的按钮时,它会直接进入游戏状态。我知道原因,因为关卡游戏状态中有一个按钮在菜单中的按钮相同的位置。下面是菜单中的代码

TouchCollection touchCollection1 = TouchPanel.GetState();
                    foreach (TouchLocation location in touchCollection1)
                    {
                        if (btnStart.rectangle.Contains((int)location.Position.X, (int)location.Position.Y) && isPlayDrawn==true)
                        {
                            gameState = state.levels;
                        }

                    }

下面是levels中的代码-

TouchCollection touchCollection1 = TouchPanel.GetState();
                    foreach (TouchLocation location in touchCollection1)
                    {
                        if (btnLEvel.rectangle.Contains((int)location.Position.X, (int)location.Position.Y) && isPlayDrawn==true)
                        {
                            gameState = state.playing;
                        }
}

你能告诉我一些方向吗?

【问题讨论】:

    标签: c# xna


    【解决方案1】:

    这是一个关于游戏状态的视频,这是一个很好的解释。

    您可以添加鼠标状态,并在执行操作之前确保两个状态不同,即检查并确保鼠标最后一次按下状态并且当前状态为 up。然后执行操作。

    祝你好运!

    https://www.youtube.com/watch?v=VTxdOWC_Ytc

    【讨论】:

    • 如果我在同一个位置放置不同的纹理会起作用吗
    • 是的,它会,因为它正在检查鼠标状态,你应该只在最后一个状态是鼠标向上并且位置超过它时执行该语句。在我最后的回复中犯了一个错误,试试弄清楚你会失去什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    相关资源
    最近更新 更多