我正在使用 C 编写 Game Boy 游戏。我正在实现一个光标,该光标可以根据按下的按钮上下移动。如果按下 UP 键,则寄存器中的相应位被设置。然后我让光标向上移动。游戏处于无限循环中。因此,在下一次迭代中,仍将寄存器视为已设置。我需要一些簿记来告诉自己将来光标已经向上移动,我应该忽略该位已设置的事实。我该怎么做呢?
编辑:这是我写的代码。基本上,当我按下向上按钮时,光标会上升很多步。我希望它只上升一步。
if (KEY_DOWN_NOW(BUTTON_UP)){
if (row - 1 >= 0){
undrawCursor(row, column);
row--;
drawCursor(row, column);
}
}
else if (KEY_DOWN_NOW(BUTTON_DOWN)){
if (row + 1 <= 160){
undrawCursor(row, column);
row++;
drawCursor(row, column);
}
}