Я знаю, что это, вероятно, неправильное направление для метода, но я хочу запрограммировать кнопку выстрела для моей игры Android, и из того, что я понял, это должно как-то сработать, но оно не распознает сенсорный ввод:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Android;
public class ShotButton : MonoBehaviour
{
private Camera cam;
Touch touch1, touch2;
private float distance1, distance2;
public static bool timeF1 = false, timeF2 = false;
// Start is called before the first frame update
void Start()
{
cam = Camera.main;
}
// Update is called once per frame
void Update()
{
if (Input.touchCount > 0)
{
touch1 = Input.GetTouch(0);
if (touch1.phase == TouchPhase.Began)
{
distance1 = Vector2.Distance(gameObject.transform.position, cam.ScreenToWorldPoint(new Vector3(touch1.position.x, touch1.position.y, 0)));
if (distance1 < 2)
{
timeF1 = true;
Debug.Log("press");
}
}
if (timeF1 == true && touch1.phase == TouchPhase.Ended)
{
timeF1 = false;
Debug.Log("lift");
}
if (Input.touchCount > 1)
{
touch2 = Input.GetTouch(1);
if (touch2.phase == TouchPhase.Began)
{
distance2 = Vector2.Distance(gameObject.transform.position, cam.ScreenToWorldPoint(new Vector3(touch2.position.x, touch2.position.y, 0)));
if (distance2 < 2)
{
timeF2 = true;
}
}
if (timeF2 == true && touch2.phase == TouchPhase.Ended)
{
timeF2 = false;
}
}
}
}
}
То, что я в основном хотел сделать, это иметь периметр вокруг моего спрайта кнопки (он не находится под объектом canvas как объект пользовательского интерфейса, я знаю, что это то, что вам обычно говорят программировать, но я все еще пытаюсь чтобы понять, что здесь не работает), и если в области спрайта происходит одно из двух одновременных касаний (как должно быть, кнопки выстрела и области прицеливания), зарегистрируйте bool как «true», который затем вызывается внутри скрипта, порождая выстрелы и регистрирует, как долго это было «истинно», чтобы он мог загружать разные силы выстрела. Метод съемки работает сам по себе, так как метод, который использовал щелчки мышью, работал раньше, но я не могу зарегистрировать касание.