Проблема сенсорного ввода Android - PullRequest
0 голосов
/ 16 мая 2011

В моей маленькой игре у меня есть фон, игрок и препятствия, мешающие игроку набирать очки. Так что игрок должен двигаться, чтобы преодолеть эти препятствия, верно? Ну, мой метод сенсорного ввода работает, и когда пользователь касается правой / левой стороны экрана, чтобы двигаться в соответствующем направлении. По какой-то причине мой метод требует, чтобы пользователь нажимал на экран один раз для каждого движения (4 пикселя) игрока. Я хочу, чтобы пользователь мог держать палец в том направлении, в котором он хочет идти, и не должен постоянно нажимать на эту сторону экрана несколько сотен раз. Я довольно новичок в Android, поэтому я не знаю, как это реализовать. Я пробовал игровой цикл (он просто разбил мою игру), и я пробовал отдельный поток, чтобы попытаться повторить действие, но он никогда не будет выполнен даже после того, как я вызову "game.run ()" и с "game" start () "вылетает. Может кто-нибудь показать мне простой способ сделать так, чтобы мой игрок продолжал двигаться, удерживая палец на той стороне, к которой вы хотите двигаться? Я представляю, что это просто, и я слишком усложняю это, но я немного невежественен. Пожалуйста, приведите пример, а не просто «Сделай так» и т. Д. Потому что, опять же, я немного невежественен в этом отделе. Код вставлен ниже.

Мой код: http://pastebin.com/3EetUHCx

1 Ответ

0 голосов
/ 16 мая 2011

Вы хотите создать новый Runnable объект, в который нужно поместить код, а не реализовать Runnable в главном классе.Таким образом, вы отделите обработку событий от основного пользовательского интерфейса.

Еще лучшим вариантом будет расширение SurfaceView вместо View в вашем классе Draw и созданиеПротяните объект внутри этого SurfaceView для обработки фактического чертежа.

Взгляните на пример Lunar Lander из руководства разработчика Android.

...