如何计算一秒钟的点击次数? (每秒点击次数)

时间:2019-06-01 12:23:53

标签: c# unity3d

我想要制作用于训练我的代码技能的答题器游戏时遇到问题。

我有一个整数,用于存储自开始以来的所有点击次数,但我的目标是获取一秒钟内的点击次数。更具体地说,我想要执行此操作的东西:

如果一秒钟不见了,
     计算此秒内的所有水龙头,
     将数字保存为整数。
     重复此操作10次,因此对10个不同的整数要10秒,然后覆盖所有整数并从头开始。

1 个答案:

答案 0 :(得分:0)

将此脚本附加到一个空的gameObject上,然后告诉我它是否符合您的计划:

using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{
    private int _numOfClicks;

    [SerializeField] private int _clicksPerSecond;
    [SerializeField] private int _timesToRepeat = 10;

    private float _repetitionRate = 1f;

    private void Start()
    {
        InvokeRepeating("RecordClicksPerSecond", _repetitionRate, _repetitionRate);
    }

    private void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            _numOfClicks++;
        }
    }

    private void RecordClicksPerSecond()
    {
        if (_timesToRepeat > 0)
        {
            _clicksPerSecond = _numOfClicks;
            _numOfClicks = 0;
            _timesToRepeat--;
        }
        else
        {
            _repetitionRate = 0;
            _clicksPerSecond = 0;
            Debug.Log("Trial over");
        }

    }
}