2012-01-22 3 views
2

Каков наилучший способ прикоснуться к двум кнопкам одновременно? Я работаю над приложением, у которого есть кнопки, такие как D-pad и кнопка перехода, чтобы перемещать вашего персонажа. Сейчас я просто использую обычные кнопки и обрабатываю их с помощью OnClickListener. У меня проблемы, когда я бегу и нужно прыгать в одно и то же время, или если я бегу направо, а затем хочу уйти влево, не заставляя меня забирать палец. Я знаю, что это возможно, потому что он отлично работает на игру, такую ​​как Sonic CD и некоторые другие. Любая помощь будет принята с благодарностью.Android - одновременно коснитесь двух кнопок

ответ

1

OnClick срабатывает только при отпускании. Вместо этого используйте обработчики событий касания, чтобы, когда они касаются, вы получаете события. Однако обратите внимание, что не все устройства имеют мультитач, и, следовательно, не все из них смогут правильно обрабатывать случай двойного касания. Они будут предоставлять события касания, но не два из них. Также обратите внимание, что вы можете получить несколько «указателей» в событии касания, и вам придется решить, какой из них «ваш» для каждой кнопки, если это имеет значение.

+0

Также примечание стороны: в некоторой версии android, onClick задерживается из-за обработки выпуска, поэтому вы, вероятно, захотите избежать этого. – Sajid

+0

Спасибо, Саджид, я проверю это. Если я буду использовать сенсорные события сейчас, было бы лучше оставить кнопки и, возможно, просто создать растровые изображения, похожие на кнопки? Затем просто проверьте, было ли мое событие касания на «кнопке» и обрабатывать мои нажатия таким образом? Прямо сейчас, мои кнопки просто выложены поверх холста. – Mark

+0

Я имел в виду, что вы все еще можете использовать кнопки, но я считаю, что все элементы, которые имеют сенсорный курсор на них, получают события касания. Если я ошибаюсь, их контейнер определенно получит обе точки касания в любом случае. Вы можете в последнем случае захватить точки и проверить, находятся ли они в пределах кнопок. – Sajid

Смежные вопросы