制作复选框(Toggle)
怎样判断是否应当使用复选框
复选框,就是对一个选项做上一个标记,表示这个选项已经被选中了。在游戏中,复选框一般用来做一些选项的控制,这种选项一般都只有两种答案:是和否。例如,单击一下开启音乐的复选框,这个复选框上就打了一个勾,然后音乐在游戏中就会开发;如果再单击一下,则这个勾会取消掉,然后音乐相会在游戏中关闭。这就是复选框最常见的用法。
要判断是否要使用复选框时,可以遵循以下规律。
(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)的更多相关文章
- Unity C# 用枚举(enum)制作复选框
最近在项目中做测试脚本用到一些布尔值做方法的开关,突然想到可以制作一个复选框控制开关. 首先搜集网上的资料,基本大同小异,这里就不多做解释了,代码附上: public class EnumFlagsA ...
- 可分组的选择框控件(MVVM下)(Toggle样式 仿造单选框RadioButton,复选框CheckBox功能)
原地址: http://www.cnblogs.com/yk250/p/5660340.html 效果图如下:支持分组的单选框,复选框样式和MVVM下功能的实现.这是项目中一个快捷键功能的扩展. 1, ...
- 使用CSS3制作酷炫防苹果复选框 自行测试!
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 制作带复选框的ListView控件
实现效果: 知识运用 ListView控件的GridLines //设置是否在ListView控件中显示网格线 public bool GridLines{get;set} 和CheckBoxes ...
- nodetree中 前面复选框禁用插件
nodetree中 前面复选框的去掉插件 extendTreeCheck.js /** * tree方法扩展 * 作者:小雪转中雪 */ $.extend($.fn.tree.methods, { / ...
- 使用CSS3美化复选框checkbox
我们知道HTML默认的复选框样式十分简陋,而以图片代替复选框的美化方式会给页面表单的处理带来麻烦,那么本文将结合实例带您一起了解一下使用CSS3将复选框checkbox进行样式美化,并且带上超酷的滑动 ...
- 关于textjs的tree带复选框的树
通过查阅一些资料和自己之前了解到的一些相关知识,有时项目中需要用到.话不多说,先看一下效果图: 我写的这人员选择的树,主要是改写了TreePanel,如下代码: ExtendTreePanel.js ...
- Android实战之ListView复选框
项目中有用到复选框的例子,啊啊......在网上查找有关资料,大多都是过于繁琐,所以自己决定写个这个方面的demo... 先给个效果图: 在ListView中添加复选框主要注意以下几个问题: 1.Li ...
- 期货大赛项目|六,iCheck漂亮的复选框
废话不多说,直接上图 对,还是上篇文章的图,这次我们不研究datatables,而是看这个复选框,比平常的复选框漂亮太多 看看我是如何实现的吧 插件叫iCheck 用法也简单 引入js和css $(& ...
随机推荐
- Hibernate的几种主键生成策略
主键类型: 业务主键(natural key):业务主键的值是来源于一个业务数据. 代理主键(surrogate key):代理主键需要采用一种方式来生成某个唯一值. 代理主键的生成策略: 1.hib ...
- 伸展树 Splay Tree
Splay Tree 是二叉查找树的一种,它与平衡二叉树.红黑树不同的是,Splay Tree从不强制地保持自身的平衡,每当查找到某个节点n的时候,在返回节点n的同时,Splay Tree会将节点n旋 ...
- 关于搭建haddoop分布式系统的全部过程复习
1\在vmware中更改了虚拟机的网络类型,--->NAT方式,(虚拟交换机的ip可以从vmvare的edit-->vertual network editor看到)2.根据这个交换机(网 ...
- Kafka消息模型
一.消息传递模型 传统的消息队列最少提供两种消息模型,一种P2P,一种PUB/SUB,而Kafka并没有这么做,巧妙的,它提供了一个消费者组的概念,一个消息可以被多个消费者组消费,但是只能被一个消费者 ...
- Java 自带性能监控工具:监视和管理控制台jconsole的使用
关于JConsole工具的使用请参见:http://blog.csdn.net/defonds/article/details/45064297
- Redis 命令 - Sorted Sets
ZADD key score member [score member ...] Add one or more members to a sorted set, or update its scor ...
- 推荐一款App运营工具:AYL爱盈利App榜单监控
对包括开发者.产品运营.投资人在内的诸多移动互联网从业人员而言,国内Android应用市场和IOS应用市场的榜单变化数据时大家的必修功课之一:看看这段时间所关注的垂直领域里最火的是哪几款应用:看看竞争 ...
- JavaScript之图片滚动
向上滚动: <!doctype html> <title>javascript无缝滚动</title> <meta charset="utf-8&q ...
- JAVA之数据溢出
Integer在java中属于包装类,既能用于字符串与整型的转换,也能用于拆箱与装箱 package ABC; public class A{ public static void main(Stri ...
- Swing圆角边框的实现
Swing圆角边框的实现方法: package com.justplay.basic; import java.awt.Color; import java.awt.Component; import ...