所以我在 SlimDX 中的基本 2d 游戏框架进展顺利。我创建了一个自定义 Sprite 对象,并且对渲染精灵有一些基本的掌握。我现在只需要移动它们。
我有一个基本的游戏循环设置,它基于一本旧的 C# 游戏编程书。设置好所有图形设备位和鲍勃,并在屏幕上绘制我的精灵后,我在我的 Game 类中输入了一个名为Run()
. 这有以下内容:
public void Run()
{
while( this.Created )
{
// Process one frame of the game
ProcessFrame();
Render();
// Handle all events
Application.DoEvents();
}
}
ProcessFrame()
应该包含所有游戏逻辑,以响应事件。虽然我设置了一个简单的事件处理程序(基于 的覆盖OnKeyDown
)来检测按键,但我想知道如何收集按键以便我可以在ProcessFrame()
方法中处理对它们的响应。
关于这个主题的一些初步研究建议创建一个HashSet<Keys>
. 我以前从来没有这样做过,所以我不确定我会怎么做。
可能有很多方法可以做到这一点,所以我想我会先看看人们会推荐什么,然后再跳进去。
提前谢谢大家。