не работает 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);
}
}
А вас не смущает выпадающая в консоли ошибка UnassignedReferenceException?
У вас всё правильно, просто вы забыли назначить источник звука - AudioSource audio.
Добавьте объекту, который должен издавать звук компонент AudioSource. Далее любым способом (через добавление public доступа переменной, атрибута [SerializeField] или GetComponent() на старте) передайте его в вашу переменную и будет вам воспроизведение звука.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
На клиенте в браузере выводятся изображения фотографий небольших размеров, например, 20 штук в формате :
Есть объектКак обратится через индекс как в массиве? Могу и понимаю как делать