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& ...
随机推荐
- Tomcat中的Connector配置
所有的Connector提供的配置项(不完全版scheme, isSecure, xpoweredBy, useIPVHosts ): allowTrace 如果需要服务器能够处理用户的HAED/TR ...
- 手机响应式echarts
// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('main'));// 使用刚指定的配置项和数据 ...
- tornado--输入和输出
tornado--输入和输出 tornado的self.write只接受byte,Unicode,dict三种格式的对象. self.write会存在一个缓冲区,当不强制断开缓冲的时候,它会把当前函数 ...
- 一、Flask路由介绍
Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是So ...
- 学习笔记TF066:TensorFlow移动端应用,iOS、Android系统实践
TensorFlow对Android.iOS.树莓派都提供移动端支持. 移动端应用原理.移动端.嵌入式设备应用深度学习方式,一模型运行在云端服务器,向服务器发送请求,接收服务器响应:二在本地运行模型, ...
- 谈一谈java中的Canves机制
0--写在前面: 很多初学java的童鞋,常常很苦恼,一天天的都跟命令行较劲,好像很无聊的样子,如果能跳出命令行做出界面甚至一个画图界面,那将是一件很兴奋的事情:也可以让编程变的有趣:有脑洞的同学还可 ...
- Python-100道练习题答案
题目链接:http://www.runoob.com/python/python-100-examples.html #5. # def find_max(): # a=int(input(" ...
- python发送短信和发送邮件
先注册好 发短信脚本内容 #接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. #账户注册:请通过该地址开通账户http://sms.ihuyi.com/register.html ...
- Scaffold(Material库中提供的页面脚手架)知识点
Scaffold 包含:appBar.body.floatingActionButton
- 敏捷开发SCM
敏捷的目标:自组织,提高交付质量和交付速度:敏捷中实现拥抱变化是通过迭代增量实现的:所谓的迭代是循环,循环一种机制和模式,增量则是价值的增加,迭代增量,就是通过每次工作流程的循环实现业务价值的提升:那 ...