Я начну с того, что я очень плохо знаком с C # и Unity, поэтому заранее прошу прощения, если мне не хватает того, что считается общеизвестным.Кроме того, я проверил другие вопросы здесь и не нашел ответов, которые бы решали мою конкретную проблему.Однако, если он есть, я был бы признателен за указание на него.
В любом случае, я пытаюсь написать код, который будет воспроизводить звук, когда клавиша удерживается нажатой, и прекратит воспроизведение, когда клавиша отпущена.Разные клавиши будут воспроизводить разные звуки, поэтому функция GetKeyUp () должна применяться к любой клавише, которая нажата в данный момент.
Я объявил строку для inputKey, и inputKey назначается любой клавише, которая нажимается, и затемпередается в оператор if, содержащий функцию GetKeyUp ().Я пробовал многочисленные небольшие варианты этого метода, но тот, который я сейчас использую, был единственным способом, который не привел к сообщению об ошибке (хотя код все еще не работает)
public string inputKey;
else if (Input.GetKeyDown(KeyCode.S))
{
freq = 293.66;
gain = volume;
}
inputKey = (Input.inputString).ToUpper();
if (Input.GetKeyUp(KeyCode.inputKey));
{
gain = 0;
}
Так что вВ приведенном выше примере при нажатии клавиши S воспроизводится звук.InputKey отображается как 'S', поэтому я ожидал бы, что Input.GetKeyUp (KeyCode.inputKey) 'будет эквивалентен' Input.GetKeyUp (KeyCode.S 'и звуку, который нужно остановить, но это не так)и звук продолжает играть.
Любая помощь или совет будет принята с благодарностью, спасибо.