я пытаюсь заставить моего персонажа разбить направление, в котором он движется в данный момент, когда я нажимаю клавишу shift. сейчас я должен удерживать Shift, а затем нажать в направлении, которое я хочу разбить.
Я попытался изменить порядок, и я попытался изменить код, чтобы использовать двойное нажатие на тире. пока безуспешно
public class Dash : MonoBehaviour
{
private Rigidbody rb;
public float dashSpeed;
private float dashTime;
public float startDashTime;
private int direction;
void Update()
{
//dash
if (direction == 0)
{
if (Input.GetKey(KeyCode.LeftShift) && Input.GetKeyDown(KeyCode.A))
{
direction = 1;
}
else if (Input.GetKey(KeyCode.LeftShift) && Input.GetKeyDown(KeyCode.D))
{
direction = 2;
}
else if (Input.GetKey(KeyCode.LeftShift) && Input.GetKeyDown(KeyCode.W))
{
direction = 3;
}
else if (Input.GetKey(KeyCode.LeftShift) && Input.GetKeyDown(KeyCode.S))
{
direction = 4;
}
Я хочу, чтобы персонаж ринулся влево. Я хочу иметь возможность удерживать клавишу «А», чтобы двигаться в этом направлении, и нажать «Shift», чтобы сделать короткую черту.
если я держу «А», я перехожу в направлении, но «Сдвиг» ничего не делает. если я удерживаю «Shift», затем нажимаю «A», персонаж делает черту, которую я ожидаю.