0

假设我有一个二维数组。它有四行四列。现在我希望最初我在数组中的某个位置放置一些标记。比如说,array[x][y] = 1 -> 标记。我想通过使用按钮在 8 维数组中移动这个标记。就像,在上面,位置是 [x-1][y]。向下是 [x+1][y]。左边是 [x][y-1]。右边是 [x][y+1]。现在我有我的逻辑,这就是我要做的!

第一个问题:如何关联我的上下左右按钮在阵列中移动?

第二个问题:我将如何处理其他四个维度,因为我将使用两个按钮来进行其他复杂的 4 更改位置,因为 <^ 两个按钮被按下并且现在位置是 [x-1][y-1]!

请指导我或帮助我处理按钮关联。

4

1 回答 1

0

当按下箭头键时,您可以使用键盘挂钩来触发您的逻辑。您将定义一个回调函数,其中包含如下代码:

if (  WM_KEYDOWN == wParam && VK_UP == lParam )
    //do up logic
else if ( WM_KEYDOWN == wParam && VK_DOWN == lParam )
    //do down logic
else if ....

对于对角线按钮,您可以使用键盘数字小键盘上的 home、pgup、pgdn 和 end 键(这需要带有数字小键盘的键盘)。这些按钮对应于像 <^ 这样的箭头组合,并且可以保持实现简单。

有关如何使用键盘挂钩的信息,请参阅这篇文章: C++ Win32 键盘事件

有关虚拟键代码(即 VK_UP)的列表,请参见此链接:http: //msdn.microsoft.com/en-us/library/ms927178.aspx

于 2012-09-09T13:20:16.037 回答