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

Audiosorce

СообщениеДобавлено: 24 май 2017, 17:58
artem1414
В public вписал audiosource,звук кинул на объект,а затем этот же звук отметил в скрипте(в public),всё нормально,только хочу ,чтобы поначалу (в Void Start)он был неактивный,что написать,пишу Audiosorce.SetActive(false); ошибку кидает,Type `UnityEngine.AudioSource' does not contain a definition for `SetActive' and no extension method `SetActive' of type `UnityEngine.AudioSource' could be found.
Если пишу просто audiosource(false) тоже кидает,говорит`invent.AudioSource' is a `field' but a `method group' was expected
Как мне записать,чтобы в начале этот звук не работал?

Re: Audiosorce

СообщениеДобавлено: 24 май 2017, 20:25
Valentinus
SetActive применяется только для GameObject
А audiosource - это не GameObject , это компонент (у GameObject). для включения-выключения компонентов есть свойство enabled.

PS а зачем вы его пытаетесь отключить таким варварским путем? звук отключается другим способом. снимите в инспекторе флажок Play on Awake - он не будет начинать играть. когда надо - включите через Play(), остановите Stop()

Re: Audiosorce

СообщениеДобавлено: 24 май 2017, 20:54
samana
Valentinus писал(а):SetActive применяется только для GameObject (точнее - для transform)

Нет, нет, это свойство gameoObject-а, а не трансформа (трансформ это ведь компонент), вы правильно вначале сказали https://docs.unity3d.com/ScriptReferenc ... ctive.html

Re: Audiosorce

СообщениеДобавлено: 24 май 2017, 21:45
Valentinus
samana писал(а):
Valentinus писал(а):SetActive применяется только для GameObject (точнее - для transform)

Нет, нет, это свойство gameoObject-а, а не трансформа (трансформ это ведь компонент), вы правильно вначале сказали https://docs.unity3d.com/ScriptReferenc ... ctive.html

миль пардон - поспешил с ответом. но в основном хоть не соврал :)

Re: Audiosorce

СообщениеДобавлено: 24 май 2017, 21:58
artem1414
Valentinus писал(а):SetActive применяется только для GameObject
А audiosource - это не GameObject , это компонент (у GameObject). для включения-выключения компонентов есть свойство enabled.

PS а зачем вы его пытаетесь отключить таким варварским путем? звук отключается другим способом. снимите в инспекторе флажок Play on Awake - он не будет начинать играть. когда надо - включите через Play(), остановите Stop()

Я записал AudioSource.Play(); но ничего не происходит,ошибок нет,игра запускается,но звук не включается,плай он авэке убрал,может что-то не так записал?

Re: Audiosorce

СообщениеДобавлено: 24 май 2017, 22:13
Valentinus
artem1414 писал(а):
Valentinus писал(а):SetActive применяется только для GameObject
А audiosource - это не GameObject , это компонент (у GameObject). для включения-выключения компонентов есть свойство enabled.

PS а зачем вы его пытаетесь отключить таким варварским путем? звук отключается другим способом. снимите в инспекторе флажок Play on Awake - он не будет начинать играть. когда надо - включите через Play(), остановите Stop()

Я записал AudioSource.Play(); но ничего не происходит,ошибок нет,игра запускается,но звук не включается,плай он авэке убрал,может что-то не так записал?


надо писать не AudioSource.Play(). AudioSource - это название общего класса (компонента). а вам надо включить конкретный экземпляр компонента у конкретного объекта.
обычно пишут что-то типа:
AudioSource my_AudioSource = GetComponent<AudioSource>(); // получаем компонент AudioSource у объекта и заносим его в my_AudioSource
my_AudioSource.Play(); // запускаем музыку в my_AudioSource

а AudioListener поставили где-то? (на камере или на игроке, например)
audiosource - это только источник звука. Чтобы игра его услышала и направила в колонки, надо поставить где-то "уши" - AudioListener

а вообще - посмотрели бы уроки на ютубе, там все на пальцах показано.