Страница 1 из 1

воспроизведение звука от нажатия клавиши F

СообщениеДобавлено: 14 дек 2018, 00:31
aaron
Здравствуйте, мне нужна помощь, мне необходимо что бы при приближении к объекту и нажатии клавиши F воспроизводился заданный мной звук

Re: воспроизведение звука от нажатия клавиши F

СообщениеДобавлено: 14 дек 2018, 08:08
Ziza
Синтаксис:
Используется csharp
[SerializeField]
private AudioSource audio;
[SerializeField]
private AudioClip clip;

private void Update()
{
    // Если объект рядом, не знаю как вы определяете, код не привели
    // то
    if (Input.GetKeyDown(KeyCode.F))
                    audio.PlayOneShot(clip);
}
 

Если звук всего один, то под клип можно отдельное поле не заводить, заполнить звук в AudioSource и из него брать
Синтаксис:
Используется csharp
audio.PlayOneShot(audio.clip);

Re: воспроизведение звука от нажатия клавиши F

СообщениеДобавлено: 14 дек 2018, 14:39
Xtir
Ziza писал(а):
Синтаксис:
Используется csharp
[SerializeField]
private AudioSource audio;
[SerializeField]
private AudioClip clip;

private void Update()
{
    // Если объект рядом, не знаю как вы определяете, код не привели
    // то
    if (Input.GetKeyDown(KeyCode.F))
                    audio.PlayOneShot(clip);
}
 

Если звук всего один, то под клип можно отдельное поле не заводить, заполнить звук в AudioSource и из него брать
Синтаксис:
Используется csharp
audio.PlayOneShot(audio.clip);


А про приближение к объекту ничего не написал (P)

Re: воспроизведение звука от нажатия клавиши F

СообщениеДобавлено: 14 дек 2018, 14:46
Ziza
ТС не спрашивал) Приближение к объекту у него уже реализовано на сколько я понимаю)
А вообще там просто проверить дистанцию
Синтаксис:
Используется csharp
if(Vector3.Distance(transform.position, targetObject.transform.position) < 2 && Input.GetKeyDown(KeyCode.F)) // Если дистанция меньше 2 метров и нажата F
    audio.PlayOneShot(clip);

Но чуть меньше чем всегда нужна не просто проверка на приближение, а дополнительно, наведена ли мышь/прицел, повернут ли персонаж к объекту и т.п.. А раз ТС об этом не спрашивал, а только вскользь упомянул, значит это у него уже есть, какой смысл писать про проверку на дистанцию?)