Проблемы с регистрацией входовC#

Место общения программистов C#
Ответить
Anonymous
 Проблемы с регистрацией входов

Сообщение Anonymous »

Я пытаюсь создать простую 2D-игру в Unity 6.
Я создал пустой игровой объект, придал ему твердое 2D-тело и скрипт для движения.
Сценарий такой: предполагалось переместить игрока вверх, если он нажмет пробел. Это работало, но больше не работает.
Сейчас оно удалено, но раньше я пытался добавить проверку if в методе обновления, чтобы проверить, есть ли какая-либо кнопка регистрируется. Произошло следующее: когда я нажал пробел или любую другую клавишу, ни один из журналов debug.log не показывал мое сообщение. Внезапно это сработало, когда я спамил пробел, а затем множество других кнопок. также входы регистрировали несколько сотен в секунду при нажатии кнопки. Вот почему я добавил время восстановления, которое работало, но мне все равно приходилось спамить, чтобы что-то произошло. Поэтому я думаю, что это проблема с регистрацией ввода.
Вот скрипт для движения игрока (прыжка):

Код: Выделить всё

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

public class Blorb_movement : MonoBehaviour
{
public Rigidbody2D myRigidBody;
[SerializeField] private float flapStrength;
private bool canFlap = true; // Variable for cooldown

void Start()
{

}

void Update()
{

// Check if the space key is pressed and we can flap (cooldown = over)
if (Input.GetKeyDown(KeyCode.Space) && canFlap)
{
Debug.Log("space was pressed");
myRigidBody.linearVelocity = Vector2.up * flapStrength;

canFlap = false;

// Starts cooldown of 0.3 sec
StartCoroutine(FlapCooldown());
}

}
private IEnumerator FlapCooldown()
{
// wait in cooldown before flapping again
yield return new WaitForSeconds(0.3f);
canFlap = true;
}
}
Я ожидал, что персонаж игрока поднимется вверх, когда я нажму пробел, но ничего не произошло. раньше я использовал «скорость», но VS сказал мне, что она устарела и что мне следует использовать линейную скорость. Я считаю, что именно тогда начались проблемы.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ing-inputs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»