Touch. Как работать?

Общие вопросы о Unity3D

Touch. Как работать?

Сообщение mepihin 28 сен 2013, 14:00

Вот мне надо сделать так, чтобы при любом месте клика по экрану воспроизводилось некое действие. В документации я не разобрался. Подскажите как сделать такую схему.
Аватара пользователя
mepihin
UNIверсал
 
Сообщения: 418
Зарегистрирован: 01 янв 2013, 20:58
Откуда: Россия - Москва
Skype: live:snukler

Re: Touch. Как работать?

Сообщение Respect1404 05 окт 2013, 15:13

какой то не понятный вопрос...
Какое действие?
Пример хоть привел бы...
Respect1404
UNITрон
 
Сообщения: 322
Зарегистрирован: 21 июл 2013, 02:35
Откуда: Россия, Калуга

Re: Touch. Как работать?

Сообщение mepihin 05 окт 2013, 18:51

Respect1404 писал(а):какой то не понятный вопрос...
Какое действие?
Пример хоть привел бы...

По тачу в любом месте сделать прыжок игрока
Аватара пользователя
mepihin
UNIверсал
 
Сообщения: 418
Зарегистрирован: 01 янв 2013, 20:58
Откуда: Россия - Москва
Skype: live:snukler

Re: Touch. Как работать?

Сообщение Левш@ 05 окт 2013, 19:56

Если без мультитача, то просто используй метод OnMouseDown().
Работает точно так же...
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Touch. Как работать?

Сообщение mepihin 05 окт 2013, 20:00

Левш@ писал(а):Если без мультитача, то просто используй метод OnMouseDown().
Работает точно так же...

Хмм.. На PC - Input.anyKey. А как в мобилке? То есть у меня нет объекта для клика, по экрану в любом месте
Аватара пользователя
mepihin
UNIверсал
 
Сообщения: 418
Зарегистрирован: 01 янв 2013, 20:58
Откуда: Россия - Москва
Skype: live:snukler

Re: Touch. Как работать?

Сообщение Левш@ 05 окт 2013, 20:01

То есть у меня нет объекта для клика, по экрану в любом месте

Поставь прозрачную гуишку на весь экран.
Все методы мышы работают при таче.
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Touch. Как работать?

Сообщение manjak 20 окт 2013, 12:51

в родном примере http://docs.unity3d.com/Documentation/S ... Touch.html вообще нет намека на то, что нужен какой-то пустой объект, для отработки "клика".

Синтаксис:
Используется csharp
public class Example : MonoBehaviour {
    public GameObject projectile;
    void Update() {
        int i = 0;
        while (i < Input.touchCount) {
            if (Input.GetTouch(i).phase == TouchPhase.Began)
            {
                //делаем что хотим
            }
            ++i;
        }
    }
}
manjak
UNец
 
Сообщения: 8
Зарегистрирован: 18 май 2010, 17:30

Re: Touch. Как работать?

Сообщение vikle 27 окт 2013, 21:46

Работать с Touch`ем - очень просто.

Touch MyTouch;
int TouchID;

1 - Нужно определить TouchID в зависимости от того, сколько пальцев вы держите на экране для этого есть такая int переменная Input.touchCount.
2 - Далее просто задаем наш ИД, TouchID = (Input.touchCount - 1). Отсчет в Input.touchCount начинается с 1, а в TouchID с 0, по этому, вычитаем единицу.
3 - Передаем текущий "ТачИД" нашей нашей переменной "Тач" MyTouch = Input.GetTouch(TouchID );
4 - А теперь просто считываем данные из нашей переменной MyTouch.
Аватара пользователя
vikle
UNец
 
Сообщения: 45
Зарегистрирован: 25 окт 2013, 23:09
Откуда: Россия, Екатеринбург
  • Сайт

Re: Touch. Как работать?

Сообщение mepihin 27 окт 2013, 21:57

vikle писал(а):Работать с Touch`ем - очень просто.

Touch MyTouch;
int TouchID;

1 - Нужно определить TouchID в зависимости от того, сколько пальцев вы держите на экране для этого есть такая int переменная Input.touchCount.
2 - Далее просто задаем наш ИД, TouchID = (Input.touchCount - 1). Отсчет в Input.touchCount начинается с 1, а в TouchID с 0, по этому, вычитаем единицу.
3 - Передаем текущий "ТачИД" нашей нашей переменной "Тач" MyTouch = Input.GetTouch(TouchID );
4 - А теперь просто считываем данные из нашей переменной MyTouch.

Занятно, а можно пример для закрепления: если один палец/два пальца, то выполняется какое-то дейсвтеи, например в консоль дбаг
Аватара пользователя
mepihin
UNIверсал
 
Сообщения: 418
Зарегистрирован: 01 янв 2013, 20:58
Откуда: Россия - Москва
Skype: live:snukler

Re: Touch. Как работать?

Сообщение vikle 28 окт 2013, 00:13

mepihin писал(а):
vikle писал(а):Работать с Touch`ем - очень просто.

Touch MyTouch;
int TouchID;

1 - Нужно определить TouchID в зависимости от того, сколько пальцев вы держите на экране для этого есть такая int переменная Input.touchCount.
2 - Далее просто задаем наш ИД, TouchID = (Input.touchCount - 1). Отсчет в Input.touchCount начинается с 1, а в TouchID с 0, по этому, вычитаем единицу.
3 - Передаем текущий "ТачИД" нашей нашей переменной "Тач" MyTouch = Input.GetTouch(TouchID );
4 - А теперь просто считываем данные из нашей переменной MyTouch.

Занятно, а можно пример для закрепления: если один палец/два пальца, то выполняется какое-то дейсвтеи, например в консоль дбаг


LateUpdate()
{
if (MyTouch.phase == TouchPhase.Began) Debug.Log("iTOUCHED!");
if ( MyTouch.phase == TouchPhase.Ended || MyTouch.phase == TouchPhase.Canceled ) Debug.Log("Resetted!");
}

Как-то так))

а если нужно чтобы срабатывало, от Н-ного кол-ва пальцев то просто if(Input.touchCount == 2) Debug.log("i hold two fingers");
Аватара пользователя
vikle
UNец
 
Сообщения: 45
Зарегистрирован: 25 окт 2013, 23:09
Откуда: Россия, Екатеринбург
  • Сайт


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 11