В настоящее время я работаю над игрой в Unity и не могу что-то сделать. Я хочу, чтобы при нажатии клавиши x раз (A ближняя атака) персонаж останавливался до тех пор, пока вы не нажмете еще одну кнопку в течение x раз, то есть 10 раз. Игрок должен иметь возможность атаковать, т. Е. 3 раза, но когда он это делает, персонаж переходит в состояние «поддельной смерти», в котором он больше не может ходить или атаковать ближнего боя с игроком. В это время игрок должен нажать еще один ключ в течение 10 раз, а затем игрок сможет снова пройти атаку в ближнем бою. Я думал, что могу понять это с помощью простого выражения if и else, но до сих пор не работал. По какой-то причине моя другая часть выполняется немедленно, а не после атаки в ближнем бою в 5 раз.Когда ввод нажат x раз что-то сделать
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MeleeCounter : MonoBehaviour {
public int attackNumber = 0;
public GameObject meleeHitbox;
// Update is called once per frame
void Update() {
if (attackNumber < 5 && Input.GetButtonDown ("Fire3"))
{
attackNumber++; // increment the counter
meleeHitbox.gameObject.SetActive (true);
Debug.Log ("Attack");
}
if (Input.GetButtonUp ("Fire3")) {
meleeHitbox.gameObject.SetActive (false);
}
else
{
GetComponent<PlayerController>().enabled = false;
Debug.Log ("Too many attacks");
// Here should come a script that if i.e. Fire4 is pressed 10 times reset attackNumer to 0; and set PlayerController to true.
}
}
}