Я пытаюсь написать небольшую игру, используя Android, и у меня возникли проблемы с многопоточностью.Основной цикл игры запускается в этом собственном потоке и в основном просто делает что-то вроде этого:
public void run() {
while (true) {
NativeGameLib.gameTick(t);
}
}
Теперь я хочу передать сенсорный ввод моей NativeGameLib.Я подумал, что использую onTouchEvent () для представления в UI-потоке, создаю запускаемый модуль внутри и позволяю ему выполняться в потоке основного цикла.
Но я не совсем понял, как это сделать.Я видел, что есть класс Handler и класс Looper и что я могу использовать этот обработчик для публикации исполняемых файлов в функцию messageQueue и Looper.loop () для обработки очереди.
Насколько я понимаюфункция loop () бесконечно проверяет наличие новых сообщений и поэтому блокирует поток.Итак, как я могу объединить это с моей нитью.Я хочу сделать что-то подобное в теме:
public void run() {
while (true) {
processMessageQueue();
NativeGameLib.gameTick(t);
}
}
Есть идеи?Спасибо.