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

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

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

    (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. Hibernate悲观锁/乐观锁

    如果需要保证数据访问的排它性,则需对目标数据加"锁",使其无法被其它程序修改 一,悲观锁 对数据被外界(包括本系统当前的其它事务和来自外部系统的事务处理)修改持保守态度,通过数据库 ...

  2. [需再总结]SSH整合代码生成器

    package cn.itcast.invoice.util.generator; import java.io.BufferedWriter; import java.io.File; import ...

  3. applicationContext-mail.xml 模板

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  4. 【概率dp,难度3颗星】hdu-5001(2014鞍山网络赛)

    给你一个连通的无向图,等概率随机选取一个起点,走d步,每一步等概率走到相邻的点.问走完d步之后,每个点没有被经过的概率. 推状态的关键当然就是对这个“从任意起点走完d步点node没被经过的概率”的理解 ...

  5. hdu 4612 边连通度缩点+树的最长路径

    思路:将以桥为分界的所有连通分支进行缩点,得到一颗树,求出树的直径.再用树上的点减去直径,再减一 #pragma comment(linker, "/STACK:1024000000,102 ...

  6. CSS实现标题超出宽度省略号来表示

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  7. Quartz Scheduler(2.2.1) - Working with JobStores

    About Job Stores JobStores are responsible for keeping track of all the work data you give to the sc ...

  8. iOS设备中WiFi、蓝牙和飞行模式的开启与关闭

    转自:http://www.cnblogs.com/OtionSky/archive/2011/11/08/iOS_WiFi_Controller.html 今天写了一段有关在iPhone程序中开关W ...

  9. 【转载】颜色空间-RGB、HSI、HSV、YUV、YCbCr的简介

    转载自缘佳荟的博客. 颜色通常用三个相对独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间.而颜色可以由不同的角度,用三个一组的不同属性加以描述,就产生了不同的颜色空间.但 ...

  10. Caching和Purgeable Memory (译)

    Caching和Purgeable Memory对于开发者来说是一个至关重要的资源,尤其是当我们需要处理那些需要超大内存以及计算时间的对象或者是当计算机向磁盘写入数据时导致应用程序陷入停滞时特别有用处 ...