ゲーム内でプレーヤーを上下左右に移動する次のようなコードがあります。
keysSetRepeat(20, 5);
while (lives) {
scanKeys();
if (keysDownRepeat() & (KEY_LEFT | KEY_RIGHT | KEY_UP | KEY_DOWN)) {
u8 new_x = x;
u8 new_y = y;
if (keysDownRepeat() & KEY_LEFT) {
new_x--;
} else if (keysDownRepeat() & KEY_RIGHT) {
new_x++;
} else if (keysDownRepeat() & KEY_DOWN) {
new_y++;
} else if (keysDownRepeat() & KEY_UP) {
new_y--;
}
// ...
}
// ...
swiWaitForVBlank();
}
キーが検出されないのはなぜですか? 置き換えるkeysDownRepeat()
とkeysDown()
機能します(もちろん、リピート率はありません)。ドキュメントはここでは役に立ちません。