Я хочу выбрать объект на сцене, касаясь его на экране.Я сделал этот код, и он отлично работает на Unity Player или когда я компилирую приложение для Windows.Когда я компилирую для WebGL, у меня странное поведение (проверено на Firefox / Chrome)
Ошибка, которую я получаю, заключается в том, что, если я удерживаю палец на объекте, я получаю многократный непрерывный щелчок вместо одногоесли я использую TouchPhase.Began.Кто-то знает, как решить эту проблему?Это известная проблема?
Вот мой код
using UnityEngine;
using System.Collections.Generic;
using System.Xml.XPath;
using UnityEngine.UI;
public class RaycastObjHit : MonoBehaviour
{
private GameObject working_object;
private GameObject touchedObject;
void Update()
{
if (Input.touchCount == 1 && Input.GetTouch(0).phase == TouchPhase.Began)
{
Ray ray = Camera.current.ScreenPointToRay(Input.GetTouch(0).position);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
string ObjHitName = hit.transform.name;
Debug.Log(hit.transform.name);
if (hit.collider != null)
{
touchedObject = hit.transform.gameObject;
if (touchedObject.GetComponent<Renderer>().material.color != Color.red )
{
changeColor(touchedObject.transform.name, Color.red);
}else{
changeColor(touchedObject.transform.name, Color.green);
}
}
Debug.Log("Touched " + touchedObject.transform.name);
}
}
}
public void changeColor(string objId, Color color)
{
working_object = GameObject.Find(objId);
working_object.GetComponent<Renderer>().material.color = color;
}
}