Удивительно, как я раньше не заметил, что это эквивалентно 0x80 | «нужная константа».
Я проверил, и действительно, чтобы зафиксировать нажатие, достаточно проверить, установлены ли нужные биты. Таким образом, мультитач будет работать правильно. Я обновил свой шаблонный проект, и теперь стрелка движется во все 8 направлений. В связи с новой информацией, придется менять главу статьи про управление.
Вот код который в итоге получился для кнопки Вверх:
if ((keyCode & SegaGenesis.JOYPAD_UP) != 0) {
if (y < 0x7F) {
continue;
}
//Do something
}
Я изучил все константы в классе SegaGenesis, но не нашёл ни одной, которая бы равнялась 0x80. Скорей всего так и есть:
"Возможно, он всегда выставлен, или обозначает, что хотя бы одна кнопка нажата."
Цикл выполниться не 256 раз, а 242.
Удивительно, как я раньше не заметил, что это эквивалентно 0x80 | «нужная константа».
Я проверил, и действительно, чтобы зафиксировать нажатие, достаточно проверить, установлены ли нужные биты. Таким образом, мультитач будет работать правильно. Я обновил свой шаблонный проект, и теперь стрелка движется во все 8 направлений. В связи с новой информацией, придется менять главу статьи про управление.
Вот код который в итоге получился для кнопки Вверх:
Я изучил все константы в классе SegaGenesis, но не нашёл ни одной, которая бы равнялась 0x80. Скорей всего так и есть:
Спасибо. Добавил