Unity3D中 滑块、下拉选框、单选框的传值方法

我们在游戏的设置界面经常会添加一些控制游戏内容的按钮

以三类按钮和设置为例:滑块、下拉选框、单选框

分别实现游戏中的声音大小调节、游戏难度选择、是否全屏选择,大概界面如下

没有什么素材,简单传神一下- 。- (灵魂画师)

这些按钮都是可以通过NGUI来直接使用的,主要说一下怎么通过程序接受到这些值。

1.首先要定义一些简单的变量。

public enum GameGrade
{
	EASY,
	NORMAL,
	DIFFCULTY
}
public  float volume = 1;//定义游戏的音量
public  GameGrade grade=GameGrade.NORMAL;//定义游戏的默认难度
public bool isFullscreen =false;//定义是否全屏的默认值
定义三个函数来执行任务

1.public void OnVolumeChanged() //声音
2......OnGameGradeChanged() //游戏难度

3.......OnIsFullScreenChanged()//是否全屏

这样就可以在触发这些按钮的时候调用到这些函数,我们把这个脚本挂到Camera上

在UI上添加调用camera上的对应脚本的对应函数


这样我们在点击或者滑动的时候就可以调用到对应的函数。

通过代码来获得传值:

声音滑动模块直接 volume=UIProgressBar.current.value 就得到了滑块的值。

下拉菜单的游戏难度选择模块。代码为 UIPopupList.current.value

由于我们不知道返回的是什么类型的值,我们可以输出一下,实验得知返回的是汉字:困难、简单或一般

但我们需要使用UIPopupList.current.value.Trim 来消除汉字前后的空格或回车,否则传值可能会有问题

然后用switch语句搞定

switch (UIPopupList.current.value.Trim()) {
        case"简单":
            grade = GameGrade.EASY;
            break;
        case"一般":
            grade = GameGrade.NORMAL;
            break;
        case"困难":
            grade = GameGrade.DIFFCULTY;
            break;
        }

第三个单选框,通过实验得知传值类型为true of false

所以可以直接让 isFullscreen = UIToggle.current.value;

这样,我们就得到这三种按钮所传的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值