как воспроизвести звук во время клика в Unity?

196
24 января 2018, 12:38

не работает audio.PlayOneShot

Ошибка:

NullReferenceException: Object reference not set to an instance of an object PlayerMove.Update () (at Assets/Script/PlayerMove.cs:29)

Скрипт управления персонажем:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
public class PlayerMove : MonoBehaviour {
    public float speed;
    private Vector3 dir;
    public AudioClip impact;
    AudioSource audio;
    // Use this for initialization
    void Start () {
        dir = Vector3.zero;
    }
    // Update is called once per frame
    void Update () {
        if (Input.GetMouseButtonDown(0))
        {
            speed=20;
            if (dir==Vector3.forward)
            {
                dir=Vector3.left;                   
                audio.PlayOneShot(impact, 0.7F);
            }
            else
            {
                dir=Vector3.forward;
            }
        }
        float amoutToMove = speed*Time.deltaTime;
        transform.Translate(dir*amoutToMove);
    }
}
Answer 1

А вас не смущает выпадающая в консоли ошибка UnassignedReferenceException?
У вас всё правильно, просто вы забыли назначить источник звука - AudioSource audio.
Добавьте объекту, который должен издавать звук компонент AudioSource. Далее любым способом (через добавление public доступа переменной, атрибута [SerializeField] или GetComponent() на старте) передайте его в вашу переменную и будет вам воспроизведение звука.

READ ALSO
Отображение img и работа src в js

Отображение img и работа src в js

На клиенте в браузере выводятся изображения фотографий небольших размеров, например, 20 штук в формате :

200
Как обратится к объекту через индекс как в массиве?

Как обратится к объекту через индекс как в массиве?

Есть объектКак обратится через индекс как в массиве? Могу и понимаю как делать

217
Не работает transition во Vue компоненте

Не работает transition во Vue компоненте

Имеется следующий код во Vue-компоненте:

481