hun*_*y17 5 c# keyboard input xna-4.0
我最近开始使用XNA游戏工作室4.0制作视频游戏.我使用按钮列表制作了一个包含4种精灵字体的主菜单.当我按下向上和向下箭头时,它们会将颜色从白色变为黄色.
我的问题是,当我滚动它时,从顶部字体到底部字体非常快,直接到最后一个字体.我不确定为什么会这样?是因为我把它放在更新方法中并且它每隔60秒左右调用它一次?
这是我按箭头键时的代码.
public void Update(GameTime gameTime)
{
keyboard = Keyboard.GetState();
if (CheckKeyboard(Keys.Up))
{
if (selected > 0)
{
selected--;
}
}
if (CheckKeyboard(Keys.Down))
{
if (selected < buttonList.Count - 1)
{
selected++;
}
}
keyboard = prevKeyboard;
}
public bool CheckKeyboard(Keys key)
{
return (keyboard.IsKeyDown(key) && prevKeyboard.IsKeyUp(key));
}
Run Code Online (Sandbox Code Playgroud)
我需要有人帮助我减速到合理的速度.
如果你能帮助我,我将不胜感激.
我认为问题是因为你没有prevKeyboard正确设置。
尝试这个:
public void Update(GameTime gameTime)
{
keyboard = Keyboard.GetState();
if (CheckKeyboard(Keys.Up))
{
if (selected > 0)
{
selected--;
}
}
if (CheckKeyboard(Keys.Down))
{
if (selected < buttonList.Count - 1)
{
selected++;
}
}
prevKeyboard = keyboard; // <=========== CHANGE MADE HERE
}
public bool CheckKeyboard(Keys key)
{
return (keyboard.IsKeyDown(key) && prevKeyboard.IsKeyUp(key));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
620 次 |
| 最近记录: |