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

Проблема со слайдером в NGUI

СообщениеДобавлено: 24 июн 2014, 22:05
HansMaikowski
Имею NGUI версии 3.5.5. Задача - сделать регулировку громкости звука на слайдере. Пересмотрел уже буквально весь инет, но ни одно решение не работает.
На данный момент остановился на скрипте:

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class UIVolumeControl : MonoBehaviour {
       
        private UISlider _Volumeslider;

        void OnPressBackground ()
        {
                _Volumeslider = gameObject.GetComponent<UISlider>();
                _Volumeslider.sliderValue = AudioListener.volume;
}
}


Кидаю этот скрипт на сам слайдер, само собой скрипт не работает. Но, я смог добиться изменения громкости, кидая вот этот кусок:

Синтаксис:
Используется csharp
_Volumeslider = gameObject.GetComponent<UISlider>();
_Volumeslider.sliderValue = AudioListener.volume;


в сам скрипт слайдера, в защищенный раздел OnPressBackground и OnPressForeground. Но такой вариант не подходит, так как слайдеры мне понадобятся еще много где.
Как заставить его заработать в отдельном скрипте?

Re: Проблема со слайдером в NGUI

СообщениеДобавлено: 25 июн 2014, 09:29
2rusbekov
У слайдера есть OnChange поле в эдиторе. туда кидаем объект, на которм висит скрипт этот, делаем метод public и выбираем его в выпадающем списке. А в методе
Синтаксис:
Используется csharp
public void ChangeVolume()
{
AudioListener.volume = UISlider.current.value;
}