onClick Несколько кнопок одновременно мультитач - PullRequest
0 голосов
/ 03 января 2012

Я программирую небольшую игру, в которой два игрока должны нажимать на несколько кнопок, это работает довольно хорошо, если есть только один игрок, но когда другой игрок также играет свою роль в игре, то кнопки ничего не делают.

Как я могу включить Multitouch, чтобы сразу нажимать 2 кнопки?

EDIT: Вот код:

Макет XML

<ImageButton
    android:id="@+id/game1_player2"
    [...]
    android:background="@android:color/transparent"
    android:src="@drawable/player2_countdown_1" 
    android:onClick="player2method"/>

Iny My Java расширяет активность. Файл:

public void player1method (View v)
{
    if(buttonzahl == player2_nextbutton)
    {
        Toast.makeText(getApplicationContext(), "player1 won", Toast.LENGTH_LONG).show();
    }
    else
    {
        Toast.makeText(getApplicationContext(), "player2 won", Toast.LENGTH_LONG).show();
    }
}

public void player2method(View v)
{
    if(buttonzahl == player2_nextbutton)
    {
        Toast.makeText(getApplicationContext(), "player2 won", Toast.LENGTH_LONG).show();
    }
    else
    {
        Toast.makeText(getApplicationContext(), "player1 won", Toast.LENGTH_LONG).show();
    }
}

Если Игрок один нажимает на свои кнопки, все в порядке, но если другой игрок также нажимает, никакая кнопка не активируется: (

Ответы [ 2 ]

3 голосов
/ 03 января 2012

Несколько нажатий кнопок для Android 2.x

Нажмите две кнопки одновременно в Android

так что из первой опубликованной ссылки кажется, что вам нужно переопределить события касания, а не только нажатие кнопки

второй пост рассказывает о версиях

если ни одна из этих справок, пожалуйста, напишите какой-нибудь код

еще несколько ссылок из-за комментариев ниже

Мультитач Android: ACTION_UP не всегда вызывается?

Android - OnTouch Do Work

getAction () дает только ACTION_DOWN

1 голос
/ 25 февраля 2013

Вы можете легко это сделать, запустив отдельный поток, который будет прослушивать TouchEvents и обновлять пользовательский интерфейс с помощью Handler.Поскольку ваш пользовательский интерфейс никогда не застревает, а фоновый поток всегда будет прослушивать одновременные сенсорные события.

...