Немного предыстории: я делаю небольшую игру, которая включает в себя нажатие и перетаскивание стрелки часов, чтобы добавить время в банк. У меня проблема с процессом щелчка и перетаскивания. После определенного количества времени или нескольких кликов нажатие на циферблат больше не работает, чтобы сделать переменную «isActive» истинной. Я подтвердил, что он перестает работать где-то в коде ниже, а не в коде, который проверяет isActive. Спасибо за помощь.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ClockFace : MonoBehaviour
{
public bool isActive = false;
public bool isAble = false;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (isActive)
{
if (Input.GetButtonUp("Fire1"))
{
isActive = false;
}
}
if (Input.GetButtonDown("Fire1"))
{
if (isAble)
{
isActive = true;
}
}
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.gameObject.CompareTag("Mouse"))
{
isAble = true;
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.gameObject.CompareTag("Mouse"))
{
isAble = false;
}
}
}