关于Unity中UI中的Slider,Toggle和InputField等节点
一、Slider节点
1.创建一个Canvas
2.对Canvas进行一些初始化操作
3.创建一个Image的UI节点在Canvas下面作为子节点
4.把Image铺满整个Canvas,把宽高设置为640X960
5.创建一个Slider的UI节点在Canvas下面作为子节点
6.Slider滑动条可以修改宽高,背景颜色,已经拉伸颜色,圆钮样式
7.修改滑动条背景Slider--> Background,指定图片或颜色。
8.修改滑动条进度的颜色Slider-->Fill Area-->Fill,指定图片或颜色。
9.修改滑动点与按钮一样Slider-->Slider组件-->Transition-->颜色/图片/动画/过度效果+各种状态的样子
10.滑动的值被改变: 抛出on value Change事件。可以写一个监听器来捕捉事件
(1)写一个Game_scane脚本,挂载到Canvas节点下面
(2)Game_scane脚本中写一个方法,参数记得是float类型的:
public void on_slider_value_change(float per) {
Debug.Log(per);
}
这样会输出当前的滑动条的值
(3)获得当前滑动条的进度值[0, 1],可以修改这个值[min, max];
11.设置Slider的初始值
(1)写一个Game_scane脚本,挂载到Canvas节点下面
(2)Game_scane脚本中写:
public class game_scene : MonoBehaviour {
Slider slider;
void Start () {
// 把这个精度条设置成80%
this.slider = this.transform.Find("Slider").GetComponent<Slider>();
this.slider.value = 0.8f;
}
12.输出最小最大的滑动范围
public class game_scene : MonoBehaviour {
Slider slider;
void Start () {
this.slider = this.transform.Find("Slider").GetComponent<Slider>();
Debug.Log(this.slider.minValue + "-" + this.slider.maxValue);
}
二、Toggle节点
1.创建一个Canvas
2.对Canvas进行一些初始化操作
3.创建一个Toggle的UI节点在Canvas下面作为子节点
4.节点的Rect Transform大小是响应点击的范围
5.修改背景Toggle-->Background,指定图片或颜色。
6.修改字Toggle-->Label,修改字。
7.修改勾选框的样式Toggle-->Background-->Checkmark,颜色或图片。
8.修改滑动点与按钮一样Toggle-->Toggle组件-->Transition-->颜色/图片/动画/过度效果+各种状态的样子。
9.获得勾选框的值isOn。True或者False。
10.Toggle勾选过渡渐变,没选则没有渐变。
11.Interactable勾选时可以改变勾选框的值,不勾选不能改变。
12.每次修改勾选框的值,抛出on value change事件;
(1)写一个Game_scane脚本,挂载到Canvas节点下面
(2)Game_scane脚本中写一个方法,参数记得是bool类型的:
public void on_toggle_value_change(bool is_on) {
Debug.Log(is_on);
}
这样在改变勾选框的时候会输出True或者False。
13.设置Toggle的是否可以勾选
(1)写一个Game_scane脚本,挂载到Canvas节点下面
(2)Game_scane脚本中写:
public class game_scene : MonoBehaviour {
Toggle toggle;
void Start () {
this.toggle = this.transform.Find("Toggle").GetComponent<Toggle>();
this.toggle.interactable = false;
}
运行后发现组件Toggle的Interactable属性勾选框空了,而且Game视图中的勾选框不能选。此时如果在运行时手动打钩Interactable,Game视图中的勾选框就又可以点击了。
14.编程实现 男女选择,二选一。
(1)创建一个空节点check_sex
(2)创建两个子Toggle节点在check_sex节点下
(3)更改这两个Toggle节点的Label为male和famale,并调整一下宽高,使得有效点击区域小一点
(4)创建一个脚本叫做check_male的,挂载在check_sex节点下。
public class check_male : MonoBehaviour {
public Toggle female;//记得把female节点拖进去
public Toggle male;//记得把male节点拖进去
// Use this for initialization
void Start () {
this.male.isOn = true;
this.female.isOn = false;
}
// Update is called once per frame
void Update () {
}
public void on_male_click(bool is_on) {
if (is_on) {
this.female.isOn = false;
}
else {
this.female.isOn = true;
}
}
public void on_female_click(bool is_on) {
if (is_on) {
this.male.isOn = false;
}
else {
this.male.isOn = true;
}
}
}
把这两个监听器的方法分别添加在male和famale的事件监听中
三、InputField节点
1.修改Input的背景图片。
2.修改输入的提示: InputField-->Placeholder-->Text
3.设置和修改内容: InputField-->Text-->Text
4.设置是否可编辑: InputField-->Interactable;
5.设置选择字的时候的颜色:InputField-->Input Field-->Selection Color
6.设置不能修改:InputField-->Input Field-->read Only
7: 当编辑改变的时候 抛出 value change事件。
8: 当回车的时候,抛出input end 事件。
9.两个事件的触发函数,记得把他们添加到InputField节点下
public InputField editbox;
void Start () {
this.editbox.text = "Hi";
} // 当编辑的文本改变的时候调用;
public void on_edit_value_change(string str) {
Debug.Log("on_edit_value_change" + str);//这里的str不是在Game视图里面输入的字符串,而是在Inspector视图面板填的传入的参数
} public void on_end_edit_click(string value) {
Debug.Log("on_end_edit_click:" + value);//这里的value就是在Game视图里面输入的字符串
}
关于Unity中UI中的Slider,Toggle和InputField等节点的更多相关文章
- 关于Unity中UI中的Mask组件、Text组件和布局
一.Mask组件 遮罩,Rect Mask矩形Mask(Rect Mask2D组件),图片Mask(Mask组件)(图片Mask的透明度不为0的部分显示子图片,为0的部分不显示子图片) Rect Ma ...
- 关于Unity中UI中的Image节点以及它的Image组件
一.图片的Inspector面板属性 Texture Type:一般是选择sprite(2D and UI) Sprite Mode:一般是选择Single Packing Tag:打包的标志值,最后 ...
- 关于Unity中UI中的Button节点以及它的Button组件
Button是最常用的UI节点,包含的组件有 1.Image组件 显示Button的纹理,把Image贴图拖进Image组件中后,记得点击Set Native Size,显示贴图原始大小 2.Butt ...
- 关于Unity中UI中的RawImage节点以及制作地图滚动效果
一.贴图的Texture Type属性类型 Texture:会把贴图的大小转换为最相近的2的n次方,比如400X1369会转换为512X1024. Sprite 2D:是贴图的原始大小. 二.RawI ...
- 关于 Unity UI 中 GraphicRaycaster.Raycast 数量巨大的问题
有时候会发现 Unity UI 非常耗时,在 Profiler 中可以轻易的看到 UI 中 的 GraphicRaycaster.Raycast 单帧调用可以成百上千,甚至好几千,帧速率前不忍赌,一关 ...
- 关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false
关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false 我们在 Unity 中通过 UI 菜单创建的各种控件,比如 Text, Image 等, ...
- unity ui中使用onmouseover
unity ui中鼠标移进或者移出的触发方式与2d.3d的不同,2d.3d物体使用的是onmouseover,ui使用的是OnPointerEnter.需要实现以下两个接口. public class ...
- Unity项目开发过程中常见的问题,你遇到过吗?
最近看到有朋友问一个unity游戏开发团队,需要掌握哪些知识之类的问题.事实上Unity引擎是一个很灵活的引擎,根据团队开发游戏类型的不同,对人员的要求也有差异,所以不能一概而论.但是,一些在Unit ...
- Unity 处理预设中的中文
Unity 处理预设中的中文 需求由来 项目接入越南版本 需要解决的文本问题 获取UI预设Label里面的中文(没被代码控制)提供给越南 Label里面的中文替换成越南文 解决流程 迭代获取Asset ...
随机推荐
- struts2每次访问都会创建一个新的session
1.第一次 项目在测试过程中,突然发现登陆之后再去访问其他菜单时都会提示未登录: 查看日志之后发现是因为很多次请求时都会自动创建一个新的session,这就费解了, 因为之前也没改动什么session ...
- Mark 装修建材 清单
装修攻略 介绍 装修公司:东易.龙发.金螳螂.乐豪斯乳胶漆:多乐士,立邦.三棵树.晨阳水漆.华润.都芳瓷砖:马可波罗.东鹏瓷砖.蒙娜丽莎.诺贝尔.简一瓷砖.欧神诺瓷砖.金舵瓷砖.卓远瓷砖.鹰牌.兴辉瓷 ...
- 使用国内镜像源安装npm包报错
1 使用命令安装 npm install webpack --save-dev 可能是版本太高,国内没有更新. 通过设置镜像源 npm config set registry http://regis ...
- 赶集mysql军规
总是在灾难发生后,才想起容灾的重要性.总是在吃过亏后,才记得曾经有人提醒过. 一,核心军规 不在数据库做计算,cpu计算务必移至业务层 控制单表数据量,单表记录控制在千万级 控制列数量,字段数控制在2 ...
- PHP函数register_shutdown_function的使用示例
某些情况下,我们需要在程序执行结束时,做一些后续的处理工作,这个时候,php的register_shutdown_function函数就可以帮我们来实现这个功能. 函数简介 当PHP程序执行完成后,自 ...
- Wireshark分析网络慢
tcp.analysis.retransmission tcp.flags.reset==1
- 【Android】7.8 MyDemos项目的结构和主界面相关代码
分类:C#.Android.VS2015: 创建日期:2016-02-17 一.简介 上一讲已经说过,系统升级为Win10后,重新创建了一个新的项目:MyDemos,并把前7章合并到了这个项目中,这次 ...
- if else 的或(||)
= "node01" ]; then ssh -p2222 root@.xx.xx.xxx else echo "hello world" #当$=='node ...
- linux kernel & source code analysis& hacking
https://kernelnewbies.org/ http://www.tldp.org/LDP/lki/index.html https://kernelnewbies.org/ML https ...
- 安卓测试之---Monkey
Tip:在阅读此篇之前,请先了解ADB命令: http://www.cnblogs.com/pearl07/p/8572390.html 一.什么是Monkey Monkey是Android SDK提 ...