«PlaySounds.audio» скрывает унаследованный член «Component.audio». Используйте новое ключевое слово, если скрытие было предназначено - PullRequest
0 голосов
/ 09 апреля 2020

Я видел подобную ошибку, но для видео, но я не могу найти нигде, которая объясняет мою текущую ошибку

Я приложу свой код ниже для справки, кто-нибудь знает, что здесь означает ошибка?

using UnityEngine;
using System.Collections;

public class PlaySounds : MonoBehaviour {

public AudioClip SoundToPlay;
public float Volume;
AudioSource audio;
public bool alreadyPlayed = false;
void Start()
{
    audio = GetComponent<AudioSource>();
}

void OnTriggerEnter2D(Collider2D other)
{
    if (!alreadyPlayed)
    {
        audio.PlayOneShot(SoundToPlay, Volume);
        alreadyPlayed = true;
    }
}

}

1 Ответ

0 голосов
/ 09 апреля 2020

Класс MonoBehaviour уже представляет члена с именем «audio», поэтому в вашем классе PlaySounds этот член уже есть. Если вы хотите игнорировать тот из базового класса, вы должны объявить его так:

private new AudioSource audio;

Но если вы хотите, чтобы унаследованный член был доступен так же, как и член в вашем классе, просто дайте ему имя кроме «аудио». Если честно, если у вас нет особой причины, по которой вы хотите переопределить наследуемый член, я бы сделал последнее.

...