@vladhoncharenko

Как реализовать мультитач в Unity3d на мобильном устройстве?

Использую OnMouseDown() для обработки нажатия, но не получается реализовать мультитач в Unity3d.

В программе имеются объекты, которые при нажатии увеличиваются, а потом уменьшаются, если идет одно касание,то все работает нормально, при попытке нажать на несколько объектов сразу ничего не получается.

Пытался решить проблему, но не получилось, объекты переставали масштабироваться как нужно и мультитач не работал.

Код:
using UnityEngine;
using System.Collections;

public class OnTouch : MonoBehaviour {
	public AudioClip crash1;
	public AudioClip hat_closed;
	public AudioClip hat_open;
	public bool c;
	public bool c1;
	public bool c2;
	
	void OnMouseDown(){

		if (this.name == "clash") {
			GetComponent<AudioSource>().PlayOneShot(hat_open);
			c=true;
		}
		if (this.name == "clash 1") {
			GetComponent<AudioSource>().PlayOneShot(hat_closed);
			c1=true;
		}

		if (this.name == "clash 2") {
			GetComponent<AudioSource> ().PlayOneShot (crash1);
			c2=true;
		}			
		transform.localScale += new Vector3(0.05f, 0.05f, 0);
	}

	void Update(){			
		if (c) {transform.localScale = Vector3.Lerp (this.transform.localScale, new Vector3 (0.2f, 0.2f, 0), Time.deltaTime*10f);}
		if (c1) {transform.localScale = Vector3.Lerp (this.transform.localScale, new Vector3 (0.2f, 0.2f, 0), Time.deltaTime*10f);}
		if (c2) {transform.localScale = Vector3.Lerp (this.transform.localScale, new Vector3 (0.25f, 0.25f, 0), Time.deltaTime*10f);}
	}
}
  • Вопрос задан
  • 2259 просмотров
Решения вопроса 2
@Espleth
Гуглите Unity touch input.
Всякие штуки для Mouse обычно не используются, когда речь идет о таче. На офф. канале на YouTube много туториалов на тему тача.
Ответ написан
Комментировать
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Либо берите плагин, либо вручную обрабатывайте Input.touches. OnMouseDown предназначен для мышки, как ни странно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы