NGUI之Slider,最简单的方法做进度条。
既然标题是最简单的,那么很多东西就不需要我们自己做了,使用的是NGUI的示例,只针对初学者,接下来让我们来做一个最简单游戏设置里的声音控制。
1、导入NGUI;
2、找到NGUI的Menu示例Demo,文件夹为NGUI\Examples\Scenes 打开Example 3 - Menu场景

3、在Hierarchy视图中找到Option - Voice游戏对象【灰色的active没有启用的对象】

4、复制改游戏对象,并在你的项目的Hierarchy视图中粘贴到合适的位置,并将active启用(或者在你要进入该设置时用代码控制启用也可以)。

5、修改下Slider、UILabel等的名字和内容,加上一个现实百分比的Label

基本效果已经出来了。

如要改成自己的样式,则可以更改下Slider的前景的Sprite,背景Sprite,游标Sprite等设置即可

6、给Slider的游标GameObject绑定滑动的事件。
把要绑定事件的脚本挂载到Slider上(或Slider的游标GameObject)
找到游标的游戏对象
var slider_Voice = GameObject.Find("UI Root/gameSetBG/Option_Voice/Slider_Voice/Thumb");
在Awake事件中使用UIEventListener进行绑定滑动事件,不明白这么绑定的可以参考我的前一篇博文 NGUI事件监听之UIEventListener的使用
void Awake ()
{
UIEventListener.Get(slider_Voice).onPress += SetBGGSound;//滑动事件
}
写好滑动事件触发的方法
//设置背景音乐
public void SetBGGSound(GameObject go, bool state)
{
UILabel soundPerLabel = soundPer.GetComponent<UILabel>();//声音百分比的Label
UISlider soundSlider = slider_Voice.GetComponentInParent<UISlider>();
if (soundSlider.value == 0f)
{
soundPerLabel.text = "静音";
}
else if (soundSlider.value == 1f)
{
soundPerLabel.text = "100%";
}
else
{
soundPerLabel.text = (soundSlider.value * ).ToString("F0") + "%";
}
UICamera.GetComponent<AudioSource>().volume = soundSlider.value;//设置背景音乐的声音
}
因为我是把背景音乐直接放在了UICamera,如在其他游戏对象上则找到改游戏对象获取AudioSource组件进行设置音量。
NGUI之Slider,最简单的方法做进度条。的更多相关文章
- Xamarin XAML语言教程通过ProgressTo方法对进度条设置
Xamarin XAML语言教程通过ProgressTo方法对进度条设置 在ProgressBar中定义了一个ProgressTo方法,此方法也可以用来对进度条当前的进行进行设置,ProgressTo ...
- Xamarin XAML语言教程使用方法设置进度条进度
Xamarin XAML语言教程使用方法设置进度条进度 在ProgressBar中定义了一个ProgressTo方法,此方法也可以用来对进度条当前的进行进行设置,ProgressTo与Progress ...
- [整理] C#调用SQLDMO.DLL时间数据库备份 / 还原。 (香神无涯) // C#实现SQLSERVER2000数据库备份还原的两种方法 (带进度条)
/// <summary>/// 通过调用MSSQL的SQLDMO.DLL文件来实现备份数据库/// 1.首先在在项目中引用SQLDMO.DLL文件./// 2.在引用中的SQLDMO.D ...
- (转)Unity3D游戏开发 NGUI之渐变加载到100%的Loading场景进度条
NGUI 现有的进度条存在的问题: 进度条跳跃式前进,加载到90%后卡住,突然进入下一个场景.接下来就是解决这个问题. 背景 通常游戏的主场景包含的资源较多,这会导致加载场景的时间较长.为了避免这个问 ...
- 使用ajax实现简单的带百分比进度条
需求:当进行文件上传保存等操作时,能在页面显示一个带百分比的进度条,给用户一个好的交互体验 实现步骤 JSP页面 1.添加table标签 <table id="load" w ...
- 最简单的android自定义进度条样式
一.自定义圆形进度条样式 1.在安卓项目drawable目录下新建一个xml文件如下:<?xml version="1.0" encoding="utf-8&quo ...
- 超简单CSS3水平动态进度条+小圆球+背景色渐变
实现的的效果图如下:效果是动态加载的 代码如下: <!DOCTYPE html> <html lang="en"> <head> <met ...
- jquery defered的progress方法实现进度条
效果如图: 实现代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- WPF 简单的绕圈进度条(无cs代码)
方案: 图标位置不变化的情况下设置透明度实现 代码: <Window x:Class="WpfApp1.MainWindow" xmlns="http://sche ...
随机推荐
- Loadrunner的字符串函数
String Function包括 lr_advance_param 指向参数文件中参数的下一个值. lr_convert_string_encoding 将字符串转换为其他编码. lr_decryp ...
- PHP 设置代码执行时间
<?php ini_set('max_execution_time', '0'); set_time_limit(0); ?>
- 上传文件大于 2G以上
1. 开始->运行中输入以下路径, 回车. %windir%\system32\inetsrv\config\applicationhost.config 2. 在打开的配置文件中搜索" ...
- AWS S3 API实现文件上传下载
http://blog.csdn.net/marvin198801/article/details/47662965
- Django学习笔记之一
一.Windows下安装 Django 1.下载安装包解压后放到本地目录如C:\Django-1.7.2 官网地址:https://www.djangoproject.com/download/ 2. ...
- ie不支持getElementsByClassName的解决办法
目前可以这么解决,判断浏览器支不支持这个方法,如果支持就不管:如果不支持,就在document对象里加入getElementsByClassName这个方法,按兴趣的朋友可以了解下 if (navig ...
- Node.js 手册查询-5-Ejs 方法
express 中使用 //设置模板目录 app.set('views', path.join(__dirname, 'views')); //设置模板引擎 app.set('view engine' ...
- ORACLE11g JDBC Driver
http://blog.163.com/z_rx/blog/static/276363762011312947507/ ORACLE服务器端安装程序找到相应目录"x$\app\Adminis ...
- CentOS 6.4 查看每个进程的网络流量
所需工具nethogs 安装:yum install -y nethogs 使用:nethogs eth0
- 安装lua_zlib让OpenResy可以接收gzip请求
1.下载和安装lua_zlib wget https://github.com/brimworks/lua-zlib/archive/master.zip unzip master.zip cd lu ...