UGUI 5.0 一些笔记
1.加载资源路径
在Assets路径里创建Resources文件夹
a.加载配置好的界面
GameObject obj = (GameObject)Resources.Load ("config/backbg");
if (obj) {
Debug.Log ("Debug-------Debug--------");
obj = Instantiate (obj);
obj.transform.localScale = new Vector3 (1, 1, 1);
obj.transform.localPosition = new Vector3 (1, 1, 1);
}
b.加载场景
SceneManager.LoadScene("scence_1");
c.加载控件
//查找控件---【文本框】
GameObject obj = GameObject.Find ("bind_gold_label");
//类型转换
Text bindGold = obj.GetComponent<Text>();
bindGold.text = "45678 <color=\"0xffff00\">zxxxczvc</color> "; //【按钮】
GameObject.Find ("Button").GetComponent<Button>().onClick.AddListener(delegate() {
this.onBtnClick();
}) ; //【复选框】
Toggle Toggle3 = GameObject.Find ("Toggle3").GetComponent<Toggle> ();
Toggle1.onValueChanged.AddListener(delegate(bool isTrue) {
onToggleClick(isTrue);
}) ; //【图片】, 资源路径 从Resources开始查询,不需要写文件后缀名
GameObject.Find ("gold").GetComponent<Image> ().sprite = Resources.Load("UI/mainui/coin", typeof(Sprite))as Sprite; //【RawImage】原生图片
GameObject.Find ("RawImage").GetComponent<RawImage> ().texture = Resources.Load ("UI/mainui/bg",typeof(Texture)) as Texture; //进度条
Slider sld = GameObject.Find ("Slider").GetComponent<Slider> ();
sld.value = 0.30f; //滑动条
Scrollbar scb = GameObject.Find ("Scrollbar").GetComponent<Scrollbar> ();
scb.value = 0.30f; //下拉框
Dropdown dropdown = GameObject.Find ("Dropdown").GetComponent<Dropdown> ();
2.疑难杂症
a.在画布(Canvas)上显示3D模型,需要添加一个摄像头(ui_Camera),观察这个界面
设置ui_Camera属性: <Clear nFlags> 为 【Depth only】
<Culling Mask> 为 【UI, Default】(勾选两项)
<Depth> 为 【1】
主摄像机属性: <Culling Mask> 不勾选 【UI】
b.获取某个ugui界面的实例类型GameObject获取挂载的脚本
GameObject obj;
obj.GetComponent<脚本类名>(); //根据这个获得脚本下public的变量和方法
3.常用的
//---------------------------------
// 获取控件宽高
// 1.用作悬浮窗点击范围判断
// 2.
//--------------------------------- Rect rect = GetComponent<RectTransform> ().rect; //---------------------------------
// 控件隐藏
//--------------------------------- Text ttext = new Text();
ttext.SetActive (false); //隐藏,反之显示
4.ugui 子节点坐标 与 点击坐标 的坐标系处于一致性
//参数是 画布上某个控件的子节点。
private bool checkRect(UnityEngine.GameObject obj){ Vector2 touchpos;
Vector2 pos;
Canvas UI = GetComponent<Canvas> (); //画布
Rect rect = obj.GetComponent<RectTransform> ().rect;
RectTransformUtility.ScreenPointToLocalPointInRectangle(UI.transform as RectTransform, Input.mousePosition, UI.worldCamera, out touchpos);
RectTransformUtility.ScreenPointToLocalPointInRectangle (UI.transform as RectTransform, obj.transform.position, UI.worldCamera, out pos);
// Debug.Log("-------------touch---------------------"+ touchpos.x +" " + touchpos.y +" pos L" + pos); if ( touchpos.x > pos.x + rect.width/2 || touchpos.x < pos.x - rect.width/2 || touchpos.y > pos.y + rect.height/2 || touchpos.y < pos.y - rect.height/2 ){
return false; //触摸点之外
}
return true; //触摸点之内
}
UGUI 5.0 一些笔记的更多相关文章
- DirectX 总结和DirectX 9.0 学习笔记
转自:http://www.cnblogs.com/graphics/archive/2009/11/25/1583682.html DirectX 总结 DDS DirectXDraw Surfac ...
- The Implementation of Lua 5.0 阅读笔记(一)
没想到Lua的作者理论水平这么高,这篇文章读的我顿生高屋建瓴之感.云风分享了一篇中译:http://www.codingnow.com/2000/download/The%20Implementati ...
- 一起学ASP.NET Core 2.0学习笔记(二): ef core2.0 及mysql provider 、Fluent API相关配置及迁移
不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.superviso ...
- 第64节:Java中的Spring Boot 2.0简介笔记
Java中的Spring Boot 2.0简介笔记 spring boot简介 依赖java8的运行环境 多模块项目 打包和运行 spring boot是由spring framework构建的,sp ...
- HTTP2.0 简明笔记
前言 RFC2616发布以来,一直是互联网发展的基石.HTTP协议也成为了可以在任何领域使用的核心协议,基于这个协议人们设计和部署了越来越多的应用.HTTP的简单本质是其快速发展的关键,但随着越来越多 ...
- vue2.0学习笔记之路由(二)路由嵌套+动画
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue2.0学习笔记之路由(二)路由嵌套
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- spss v21.0 使用笔记
spss v21.0 使用笔记 有问题,戳官方帮助文档 神经网络 分析-神经网络-多层感知机 变量. 分析-神经网络-多层感知机-变量 预测变量可指定为因子(分类)或协变量(刻度). 在因变量框输入预 ...
- hdcms v5.7.0学习笔记
hdcms v5.7.0学习笔记 https://note.youdao.com/ynoteshare1/index.html?id=c404d63ac910eb15a440452f73d6a6db& ...
随机推荐
- asd短片数篇
黄乙己 黄乙己是站着AK而正常的唯一的人.他身材挺高大:蜡黄脸色,眼角间时常夹着些饼干屑:一副黑色的眼镜.虽然挺正常,可是他有良好的饮食习惯,似乎十多个月都是吃的牛奶泡饭,也没有洗饭盒.他对人说话,总 ...
- MySQL出现too many connections(1040)错误解决方法
https://www.cnblogs.com/2881064178dinfeng/p/6938112.html 其实MySQL默认的最大连接数为100,可能在大访问量的时候造成了连接不上数据库.解决 ...
- VBA随机地牢生成
无聊啊--于是,我想做一个随机地图. 但是我很懒,不想做. 但是身体很诚实. 这次是直接在Excel中制作的地图,但是,VB的执行效率很慢,我代码的效率也很慢,导致,一旦地图长宽稍大,就会出现好几分钟 ...
- Python PIL 图像缩小、拼接
比较各种不同取样方式的图像缩放效果. [NEAREST, BILINEAR, BICUBIC, LANCZOS, BOX, HAMMING]NEAREST取样方式是效果最差的,PIL.Image.re ...
- Spring.factories扩展机制
和Java SPI的扩展机制类似,Spring Boot采用了spring.factories的扩展机制,在很多spring的starter 包中都可以找到,通过在 META-INF/spring.f ...
- C goto
http://c.biancheng.net/view/266.html 当程序遇到 goto 后, 会无条件跳转到标签后出,然后程序按照顺序执行 例子: #include <stdio.h&g ...
- jdk1.8api帮助文档,转载
链接:https://pan.baidu.com/s/1jkDC68t6ha3PrSbx2BMevQ 密码:o425 转自https://blog.csdn.net/weixin_37012881/a ...
- html中radio单选和文本框限制只能输入数字的解决方案
一.当html中存在多个radio单选按钮时将所有的单选按钮name属性设置为一样,就可实现每次只选中一个的效果. 二.限制文本框只能输入数字,代码如下: $(function(){ $(" ...
- vivado源文件和仿真文件的建立
目的:做一个3输入,1输出模块:其中只要有2个输入为1则输出为1: 1.打开vivado创建一个工程 2.选择保存路径和名称 3.选择创建rtl文件且勾选下面的选项 4.选择芯片如xc7a35tift ...
- Plickers——教师拿手机、学生拿卡片,就可以完成即时全员互动!
全员互动.立刻反馈.无设备添加.无能耗增加,风靡全球教育界,杭州师范大学硕士生导师杨俊锋教授推荐!老师拿手机,学生拿卡片就可以完成! 操作方法: 1.注册:登录www.plicke ...