【问题标题】:SlimDX Controller, Toggle [duplicate]SlimDX 控制器,切换 [重复]
【发布时间】:2013-02-21 01:00:47
【问题描述】:

我试图在左方向键中进行切换,但它不起作用

private void SerialTimer_Tick(object sender, EventArgs e)
    {
        bool PreviousCarHeadlights = false;

        if (controls.DPad.Left & !PreviousCarHeadlights)
        {
            CarHeadlightsCheckBox.Checked = !CarHeadlightsCheckBox.Checked;
            PreviousCarHeadlights = !PreviousCarHeadlights;
        }
    }

请有人看看这个并提供帮助。

【问题讨论】:

  • 可以,但现在不行了。不知道发生了什么。

标签: c# toggle slimdx


【解决方案1】:

依次浏览你的代码,答案很明显:

首先,您将PreviousCarHeadlights 设置为false,然后检查是否按下了controls.DPad.Left 并且PreviousCarHeadlightsfalse(它是,因为您只是将它设置为false)。

换句话说:只要按下 DPad,无论之前的状态如何,您的车头灯都会一直切换,因为 if (!PreviousCarHeadlights) 是一个重言式(意思是,它将始终解析为 true

这里给出的答案:Toggle an input 是您在处理切换时所需要的全部。跟踪您的游戏手柄之前的状态意味着您将始终知道之前按下了哪个按钮。这比为每个可以切换的按钮跟踪许多 bool 要好得多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-26
    • 2011-06-05
    • 1970-01-01
    • 1970-01-01
    • 2019-02-01
    • 1970-01-01
    • 2015-10-11
    相关资源
    最近更新 更多