Unity - проблема с удержанием кнопки мыши несколько раз - PullRequest
1 голос
/ 31 января 2020

Немного предыстории: я делаю небольшую игру, которая включает в себя нажатие и перетаскивание стрелки часов, чтобы добавить время в банк. У меня проблема с процессом щелчка и перетаскивания. После определенного количества времени или нескольких кликов нажатие на циферблат больше не работает, чтобы сделать переменную «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;
        }
    }
}

1 Ответ

0 голосов
/ 31 января 2020

Старая система импутов Unitys не очень хороша сейчас, когда новая система импутов вышла из строя. Он входит в обновление Unity 2019.3, но вы можете установить его из менеджера пакетов в более ранних версиях. Я рекомендую использовать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...