(Unity)ダブルクリックで移動速度を2倍にする

(スクリプト)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TankMovement2 : MonoBehaviour
{
    private int clickCount = 0;
    public float speed = 5;

    private Rigidbody rb;
    private float movementInputValue;

    private void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    void Update()
    {
        if(Input.GetKeyDown(KeyCode.W))
        {
            clickCount += 1;

            Invoke("Reset", 0.3f);
        }
        if(Input.GetKeyUp(KeyCode.W)) // Wキーから指を離したら速度リセット
        {
            speed = 5;
        }

        movementInputValue = Input.GetAxis("Vertical");
        Vector3 movement = transform.forward * movementInputValue * speed * Time.deltaTime;
        rb.MovePosition(rb.position + movement);
    }

    void Reset()
    {
        if(clickCount != 2)
        {
            clickCount = 0;
            return;
        }
        else // clickCountが2の時(0.3秒以内にWキーを2回押した時)
        {
            clickCount = 0;
            print("ダブルクリック成功。速度2倍");
            speed = 10;
        }
    }
}

(実行結果)

  • Wキーのダブルクリックで速度が2倍になる。
  • Wキーから指を離した瞬間、速度が元に戻れば成功です。