Возможно вариант с "переключателями" действительно подойдёт для клавиатур реала и эмуляторов без ограничений.
И да, алгоритм опроса клавы много значит. Думаю нужно не останавливаться при обнаружении нажатой клавиши, а проверять все используемые клавиши.
Не знаю как реализовано сейчас. Предположу, что значение неких переменных (с величиной угла поворота), при нажатии клавиши, увеличивается или уменьшается на определённую "константу". И далее вычисления, отрисовка.
Возможно, вычисления и отрисовку нужно сделать постоянными.
Опрос клавы должен приводить к изменению значения "констант" приращения углов. Каждая константа может иметь только три значения, например [-5, 0, 5] (в зависимости от нажатой клавиши). "ТАВ" - сбрасывает все константы в "0".
Например, было "0". Нажал "вниз", получил "-5". Затем нажал "вверх" - получил "0". Снова нажал "вверх" - получил "5"....
Единственное, "но" - значения "констант" изменяемые при анализе клавиатуры, не должны сразу использоваться в вычислениях. В вычислениях должен использоваться второй комплект переменных "константа", их значение нужно обновлять только перед началом нового цикла "вычисление-отрисовка".
Блин, чего накатал...




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
