Среда, 13 Ноября 2024, 11:25

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Мультитач в GMS
coolminer8Дата: Пятница, 16 Мая 2014, 15:33 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Допустим я делаю игру на андроид, чтобы на одном телефоне играли 2 человека, типа как glow hockey.
Вопросы:
1. Как сделать мультитач?
2. Как узнать координаты каждого нажатия (если нажато, например, одновременно в трех местах)
И, желательно, пример.
Заранее всем спасибо.
XDominatorДата: Пятница, 16 Мая 2014, 16:52 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
очень легко и просто:
device_mouse_x(0)// - координата х первого тача(аналогично для у)
device_mouse_x(1)// - координата х для второго тача (до 4 тачей одновременно, но 4 тача поддерживают не все например андроид устройства, скажем на моем аппарате можно обработать только 2 тача одновременно
device_mouse_check_button_pressed(device, button) - Обработка включения тача(аналог нажатия кнопки мыши). Для лкм(стандартная обработка тача) button - mb_left. То есть, для включения обработки 1-го тача пишем device_mouse_check_button_pressed(0, mb_left) - это вернет истину когда юзер нажмет 1 раз. Если 1 тач уже определен и юзер жмет вторым пальцем - получается 2 тач, отлавливается как device_mouse_check_button_pressed(1, mb_left). Как то так smile


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
coolminer8Дата: Пятница, 30 Мая 2014, 11:09 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Спасибо, +

Добавлено (30.05.2014, 11:00)
---------------------------------------------
Цитата XDominator ()
очень легко и просто:
device_mouse_x(0)// - координата х первого тача(аналогично для у)
device_mouse_x(1)// - координата х для второго тача (до 4 тачей одновременно, но 4 тача поддерживают не все например андроид устройства, скажем на моем аппарате можно обработать только 2 тача одновременно
device_mouse_check_button_pressed(device, button) - Обработка включения тача(аналог нажатия кнопки мыши). Для лкм(стандартная обработка тача) button - mb_left. То есть, для включения обработки 1-го тача пишем device_mouse_check_button_pressed(0, mb_left) - это вернет истину когда юзер нажмет 1 раз. Если 1 тач уже определен и юзер жмет вторым пальцем - получается 2 тач, отлавливается как device_mouse_check_button_pressed(1, mb_left). Как то так smile


А вот у меня такой вопрос. Если, например, в первой кнопке у тебя device_mouse_check_button_pressed(0, mb_left) а во второй device_mouse_check_button_pressed(1, mb_left),
то первая кнопка будет обрабатываться только когда нажмешь первый раз, а вторая когда второй? Т.е. придется делать проверку (0, mb_left) or (1, mb_left) и т.д.? Или совершенно без разницы в каком порядке нажимать, то есть device это как бы ID нажатия?

Добавлено (30.05.2014, 11:09)
---------------------------------------------
Вот сейчас протестировал, видимо придется делать проверку, а мне надо 4 тача, все будет сложно.
Нет способа проще?..

Сообщение отредактировал coolminer8 - Пятница, 30 Мая 2014, 11:01
XDominatorДата: Пятница, 30 Мая 2014, 11:59 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Нету, только поочередная проверка, как вариант - в цикле. А так по факту да, 0-3 - это ID нажатия. Соответственно если код детектит первое нажатие(ID 0), потом второе(ID 1), потом ты отпускаешь первое не отпуская второе(освобождаешь ID 0, ID 1 остается неизменным) - следующее нажатие будет снова с ID 0. Как то так.

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
coolminer8Дата: Понедельник, 11 Августа 2014, 15:24 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Короче, как всегда возник ряд проблем, попытаюсь объяснить все.
1. Допустим, один палец зажат - к месту его касания будет двигаться герой.
Вторым пальцем можно выбрать какую-нибудь способность, и чтобы использовать ее надо тыкнуть на экран, но из-за этого вместо следования за первым пальцем герой идет ко второму, пока тот касается экрана.

2. Если герой стоит на месте и способность выбрана, то если после этого нажатие было на герое и потом где угодно на экране,
то способность не должна применяться (может быть применена только следующим нажатием, не на герое), а сам герой должен двигаться к нажатию.

Вот как-то так, спасибо всем кто поможет)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг