怎样判断是否应当使用复选框

  复选框,就是对一个选项做上一个标记,表示这个选项已经被选中了。在游戏中,复选框一般用来做一些选项的控制,这种选项一般都只有两种答案:是和否。例如,单击一下开启音乐的复选框,这个复选框上就打了一个勾,然后音乐在游戏中就会开发;如果再单击一下,则这个勾会取消掉,然后音乐相会在游戏中关闭。这就是复选框最常见的用法。

  要判断是否要使用复选框时,可以遵循以下规律。

    (1)该功能只有两种选择状态:是、否。

    (2)该功能同一时间只能激活且必须激活一种选择状态。

    (3)该功能的两种状态为互斥关系,如果选择了一种状态,则自动关闭另一种状态。

  复选框其实就是一个开关,可以通过单击它来切换打开和关闭。一般开关的应用包括了选项勾选和页签。页签是复选框功能的一个高级应用。

创建复选框

  1.第一种方法:使用NGUI做好的预设。

  2.第二种方法:自己拼装复选框控件。

    (1)通过Unity顶部NGUI菜单Create中选择创建一个Sprite,然后设置它的图片,让这个Sprite作为复选框的底框。

    (2)因为需要这个复选框来接收单击事件,所以为这个底框Sprite制作一个BoxCollider,方法可以使用Unity顶部NGUI菜单中Attach->BoxCollider。

    (3)需要为这个复选框创建一个复选框的核心组件:UIToggle,选中底框后,通过选择AddComponent->NGUI->Interaction->UIToggle为这个复选框的底框附加一个UIToggle组件。

    (4)在这个底框的Sprite下面创建一个新的、表示选中状态的Sprite,比如一个勾。

    (5)将这个表示选中状态的Sprite拖动到底框UIToggle组件中StateTransition模块下的Sprite选项中,然后将底框的UIToggle组件中的Starting State勾上。

  一般情况下,会在复选概况的旁边写上一些文字,表示这个复选框代表的什么选项,即在底框物体下面创建一个Label作为子物体,然后调整位置即可。

复选框的核心组件UIToggle

  1.Group

    开关组的设置。默认为0,表示没有开关组。

    当有多个Toggle的Group星等且都不为0的时候,表示它们在同一个开关组当中,同一个开关组内的开关只允许打开一个。

    当一个Toggle不属于某一个开关组,既Group为0时,它就属于一个独体开关,可以通过自身来进行开关,当它属于某一个开关组时,就无法通过单击自身来进行开启和关闭了,因为一个开关组内必须要有一个开关是出于开启状态,它必须通过开关组内部的过个Toggle之间的切换来进行关闭和开启。

  2.Starting State

    是否初始状态,如果选中,则为初始状态,不选中则不是。

    这个设置项的意义在于:当开关是一个独立开关(Group为0)时,勾选Starting State意味着在初始状态下,开关属于开启状态。当开关属于一个开关组时,勾选Starting State则意味着在初始状态下,这个开关组中初始处于代开状态的为这一个开关。

    当一个开关组中有一个以上的开关都勾选了Starting State时,则以这个组中排在最后的一个勾选了Starting State的Toggle为默认开启的开关。

  3.State Transition 模块

    这个模块是为了设置勾选的时候的一些关联UI表现。

    Sprite是设置选中状态下要显示出来的Sprite。设置的方法为,将表示选中的Sprite拖动到这个选项中即可。

    Animation是设置状态切换时的动画。

    Transition是选择开关切换时的一个平滑效果,里面提供了两种选项进行选择:Smooth和Instant,如果选择Smooth,则在进行开关切换时,表示选中的那个Sprite的消失和出现会显示得更加平滑一些;如果选择Instant,则开关切换时,表示选中的那个Sprite的消失和出现会瞬间出现。

  4.On Value Change

    这里是设置当前开关状态改变时触发的函数。

制作复选框(Toggle)的更多相关文章

  1. Unity C# 用枚举(enum)制作复选框

    最近在项目中做测试脚本用到一些布尔值做方法的开关,突然想到可以制作一个复选框控制开关. 首先搜集网上的资料,基本大同小异,这里就不多做解释了,代码附上: public class EnumFlagsA ...

  2. 可分组的选择框控件(MVVM下)(Toggle样式 仿造单选框RadioButton,复选框CheckBox功能)

    原地址: http://www.cnblogs.com/yk250/p/5660340.html 效果图如下:支持分组的单选框,复选框样式和MVVM下功能的实现.这是项目中一个快捷键功能的扩展. 1, ...

  3. 使用CSS3制作酷炫防苹果复选框 自行测试!

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 制作带复选框的ListView控件

    实现效果: 知识运用   ListView控件的GridLines //设置是否在ListView控件中显示网格线 public bool GridLines{get;set} 和CheckBoxes ...

  5. nodetree中 前面复选框禁用插件

    nodetree中 前面复选框的去掉插件 extendTreeCheck.js /** * tree方法扩展 * 作者:小雪转中雪 */ $.extend($.fn.tree.methods, { / ...

  6. 使用CSS3美化复选框checkbox

    我们知道HTML默认的复选框样式十分简陋,而以图片代替复选框的美化方式会给页面表单的处理带来麻烦,那么本文将结合实例带您一起了解一下使用CSS3将复选框checkbox进行样式美化,并且带上超酷的滑动 ...

  7. 关于textjs的tree带复选框的树

    通过查阅一些资料和自己之前了解到的一些相关知识,有时项目中需要用到.话不多说,先看一下效果图: 我写的这人员选择的树,主要是改写了TreePanel,如下代码: ExtendTreePanel.js ...

  8. Android实战之ListView复选框

    项目中有用到复选框的例子,啊啊......在网上查找有关资料,大多都是过于繁琐,所以自己决定写个这个方面的demo... 先给个效果图: 在ListView中添加复选框主要注意以下几个问题: 1.Li ...

  9. 期货大赛项目|六,iCheck漂亮的复选框

    废话不多说,直接上图 对,还是上篇文章的图,这次我们不研究datatables,而是看这个复选框,比平常的复选框漂亮太多 看看我是如何实现的吧 插件叫iCheck 用法也简单 引入js和css $(& ...

随机推荐

  1. ubuntu下安装Sublime Text并支持中文输入

    Sublime Text还是文本编辑器中比较不错的,就是他的文件对比有些差劲吧,还有中文输入需要打补丁,不知道开发者是怎么想的... 当然,这个软件是收费的,但是不买也能一直的使用,在我天朝就这点好处 ...

  2. Ext.Slider的试用小记

    最近需要做一个滑动条,动态改变地图动画播放的速度.实在没有自己用js写一个的那个水平,于是找到了Ext.Slider,ExtJS的版本是3.3.0. new Ext.Slider({ id: 'pla ...

  3. Slickflow.NET 开源工作流引擎基础介绍(三) -- 基于HTML5/Bootstrap的Web流程设计器

    1. Slickflow Designer 技术优势 1) 基于HTML5技术,兼容常见浏览器; 2) 纯Javascript / JsPlumb 脚本实现SVG图形化显示; JsPlumb允许您使用 ...

  4. iOS开发那些事--性能优化–内存泄露问题的解决(转)

    内存泄漏问题的解决 内存泄漏(Memory Leaks)是当一个对象或变量在使用完成后没有释放掉,这个对象一直占有着这块内存,直到应用停止.如果这种对象过多内存就会耗尽,其它的应用就无法运行.这个问题 ...

  5. Asp.net MVC 4 动作方法结果

    Action Method Result动作方法结果 ActionResult generic return value for an action and is used to perform a ...

  6. 三道题(关于虚表指针位置/合成64位ID/利用栈实现四则运算)

    第一题 C++标准中,虚表指针在类的内存结构位置没有规定,不同编译器的实现可能是不一样的.请实现一段代码,判断当前编译器把虚表指针放在类的内存结构的最前面还是最后面.  第二题 在游戏中所有物品的实例 ...

  7. Win7显示隐藏文件,隐藏文件夹怎么显示?如何查看?

    隐藏文件技术是木马病毒传播最惯用的手法之一,它们利用大部分网友对基础操作的不熟悉特点,逃过用户的发现和检查,显示隐藏文件的标准设置方法大家都会使用,一旦隐藏问题与病毒木马结合起来,比如典型的autor ...

  8. iOS - 视图与手势(UIview & UIGestureRecognizer)

    01 UIView视图的基本使用 --- 在根视图中添加2个UIView视图 //视图确实加载时调用 - (void)viewDidLoad { [super viewDidLoad]; // Do ...

  9. 禁用iOS9 App Transport Security(ATS)特性时不起作用

    iOS 9发布后,原来开发的iPad应用在iOS9下面测试时,协议使用的是HTTP,发送网络请求时,Console窗口输出: App Transport Security has blocked a ...

  10. 使用C#通过调用minitab的COM库自动化生成报表

    本文介绍通过C#调用minitab com组建自动化生成报表的方法. 首先需要在minitab中通过手动配置的方式生成报表来得到该报表的命令行,过程如下 选择菜单“编辑器”->“启用命令”启用命 ...