gpt4 book ai didi

c# - 在 XNA 中每次单击鼠标/按键增加一次

转载 作者:太空狗 更新时间:2023-10-30 00:36:17 28 4
gpt4 key购买 nike

这最近一直困扰着我——当我使用如下代码来增加每次鼠标点击时的选择:如果(m.LeftButton == ButtonState.Pressed)
当前选择++;
然后 currentSelection 增加一吨,仅仅是因为这段代码在我的 Update() 函数中,并且按照设计,运行每一帧,因此增加了 currentSelection。您几乎不可能足够快地单击和释放以防止 currentSelection 增加超过 1。

现在我的问题是我应该怎么做才能让它每次单击一次鼠标时,它只会增加一次 currentSelection 直到我再次单击鼠标时。

最佳答案

您需要比较当前鼠标状态和上次更新的鼠标状态。

在您的类(class)中,您将拥有 MouseState mouseStateCurrent, mouseStatePrevious; 声明,因此它将类似于:

mouseStateCurrent = Mouse.GetState();

if (mouseStateCurrent.LeftButton == ButtonState.Pressed &&
mouseStatePrevious.LeftButton == ButtonState.Released)
{
currentSelection++;
}

mouseStatePrevious = mouseStateCurrent;

因此它会检测到您之前按下它的时间,然后您松开它 - 只有在那时它才被视为点击并且它会添加到 currentSelection

关于c# - 在 XNA 中每次单击鼠标/按键增加一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2395107/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com