用NGUI的控件控制游戏音量、音效、开关。
2013-12-09 18:51
281 查看
建立 UICheckBox作为背景音乐的勾选框,添加UIButton Sound组件,其下的Audio Clip属性可直接附上音效名字。
建立一个空物体绑定下边的脚本(脚本里的一些组件名字不太一样,别直接用,看明白再自己改),复选框的UICheckBox的Event Receiver绑定之前建的空物体
先定义 AudioSource AS;
void Awake ()
{
AS = GameObject.Find("Camera").audio;
Debug.Log(PlayerPrefs.GetInt("IsMusicPlay")+"=======================================");
//判断之前一次游戏时背景音乐是否开启如果读取出的是0,则说明没有开启,这次也默认不会开启。
if (PlayerPrefs.GetInt("IsMusicPlay", 1) == 0)
GameObject.Find("ck_music").GetComponent<UICheckbox>().isChecked = false;
//读取上一次游戏是设置的背景音量,并赋值给滚动条,使滚动条初始为相应位置。
AS.volume=PlayerPrefs.GetFloat("Volume",1);
GameObject.Find("Slider_Music").GetComponent<UISlider>().sliderValue = AS.volume;
//判断之前一次游戏时音效是否开启,如果读取的是1,则说明开启,这次也默认开启。
if (PlayerPrefs.GetInt("IsEffectPlay", 1) == 1)
GameObject.Find("ck_effect").GetComponent<UICheckbox>().isChecked = true;
}
// Update is called once per frame
//音乐是否播放
void ck_musicplay()
{
//如果音乐复选框是关闭/开启,则关闭/开启音乐,并存储当前音乐状态,传递给下一个场景等等。
if ( GameObject.Find("ck_music").GetComponent<UICheckbox>().isChecked == false)
{
AS.Stop();
PlayerPrefs.SetInt("IsMusicPlay", 0);
}
else
{
AS.Play();
PlayerPrefs.SetInt("IsMusicPlay",1);
}
}
//音效是否播放
void ck_effect()
{
if (GameObject.Find("ck_effect").GetComponent<UICheckbox>().isChecked == false)
{
PlayerPrefs.SetInt("IsEffectPlay", 0);
Debug.Log("- -!");
}
else
{
PlayerPrefs.SetInt("IsEffectPlay", 1);
Debug.Log("= =!");
}
}
//音乐声音大小
void MusicSlider()
{
//通过滚动条的Value值来赋值给音乐的声音大小并存储,方便传递给下一个场景等等。
AS.volume = GameObject.Find("Slider_Music").GetComponent<UISlider>().sliderValue;
PlayerPrefs.SetFloat("Volume",AS.volume);
}
建立一个空物体绑定下边的脚本(脚本里的一些组件名字不太一样,别直接用,看明白再自己改),复选框的UICheckBox的Event Receiver绑定之前建的空物体
先定义 AudioSource AS;
void Awake ()
{
AS = GameObject.Find("Camera").audio;
Debug.Log(PlayerPrefs.GetInt("IsMusicPlay")+"=======================================");
//判断之前一次游戏时背景音乐是否开启如果读取出的是0,则说明没有开启,这次也默认不会开启。
if (PlayerPrefs.GetInt("IsMusicPlay", 1) == 0)
GameObject.Find("ck_music").GetComponent<UICheckbox>().isChecked = false;
//读取上一次游戏是设置的背景音量,并赋值给滚动条,使滚动条初始为相应位置。
AS.volume=PlayerPrefs.GetFloat("Volume",1);
GameObject.Find("Slider_Music").GetComponent<UISlider>().sliderValue = AS.volume;
//判断之前一次游戏时音效是否开启,如果读取的是1,则说明开启,这次也默认开启。
if (PlayerPrefs.GetInt("IsEffectPlay", 1) == 1)
GameObject.Find("ck_effect").GetComponent<UICheckbox>().isChecked = true;
}
// Update is called once per frame
//音乐是否播放
void ck_musicplay()
{
//如果音乐复选框是关闭/开启,则关闭/开启音乐,并存储当前音乐状态,传递给下一个场景等等。
if ( GameObject.Find("ck_music").GetComponent<UICheckbox>().isChecked == false)
{
AS.Stop();
PlayerPrefs.SetInt("IsMusicPlay", 0);
}
else
{
AS.Play();
PlayerPrefs.SetInt("IsMusicPlay",1);
}
}
//音效是否播放
void ck_effect()
{
if (GameObject.Find("ck_effect").GetComponent<UICheckbox>().isChecked == false)
{
PlayerPrefs.SetInt("IsEffectPlay", 0);
Debug.Log("- -!");
}
else
{
PlayerPrefs.SetInt("IsEffectPlay", 1);
Debug.Log("= =!");
}
}
//音乐声音大小
void MusicSlider()
{
//通过滚动条的Value值来赋值给音乐的声音大小并存储,方便传递给下一个场景等等。
AS.volume = GameObject.Find("Slider_Music").GetComponent<UISlider>().sliderValue;
PlayerPrefs.SetFloat("Volume",AS.volume);
}
相关文章推荐
- 在Xcode当中用slider和switch控件实现音乐的开关和音量控制
- Android游戏背景音乐音效音量控制
- 游戏暂停界面 和 音量开关 背景音乐 音效调节
- 【Unity快速实现小功能】声音控制三部曲之(三)—— 声音、音效开关以及音量大小控制
- 【Cocos2dx】利用音量螺旋控件控制血量条
- 【转载】音乐开关及音量控制
- unity音乐开关及音量控制
- Android 游戏音效控制
- 转载:cocos2d-x下硬件音量按键控制游戏音量的实现
- android之4.0控件switch自定义开关背景图片和控制宽度
- 4000 Unity3d NGUI Slider设置游戏背景音乐的音量
- Unity3d NGUI Slider设置游戏背景音乐的音量
- cocos2d-x下硬件音量按键控制游戏音量的实现
- 控制控件(滑杆,分段选择控件,开关按钮)
- 5.cocos2dx中关于draw绘图,声音和音效,预加载,播放与停止Vs暂停和恢复,音量控制
- 游戏编程基础之(二):通过鼠标点击控制开关的闭合
- 一个函数实现调节录音控制麦克风输入音量
- 自定义滑动开关控件的实现与使用
- 后台控制html控件