【SIKIA计划】_10_Unity5.1UI系统-UGUI笔记
Canvas
——Text
EventSystem 事件系统
0.滚动文本列表(隐藏背景)/Scroll/mask
image【Scroll Rect】【Mask】
——text(拉伸到显示全部)
Scrollbar【Scrollbar】
【Scrollbar】
_Direction滚动方向
【Scroll Rect 】
_指定 Content 为 text.
_指定 Vertical Srcollbar 为Scrollbar
_Horizontal水平滑动
_Vertical垂直滑动
【mask】
_Show Mask Graphic不勾选
1.加载场景
using UnityEngine.SceneManagement;
public class GameManger : MonoBehaviour {
public void OnstartGame(int sceneIndex)
{
SceneManager.LoadScene(sceneIndex);
//Application.LoadLevel(sceneName);
}
2.滑动条/slider
slider
——Background(背景图像)
——Fill Area
————Fill(填空图像)
——Handle Silde Area
————Handle(按钮图像)
3.图像类型/Image Type
——Simple 简单
——Sliced 切片(九宫切图,中心扩大缩小,其他不变)
——Tiled 平铺(产生多个该文件平铺该空间)
——Filled 切割 (围绕一个点切割显示一部分)
4.技能冷却
图片1:技能原图
图片2:黑色,半透明,Filled,Fill Amount(控制显示部分)
public class SkillItem : MonoBehaviour
{
public float coldTime = 2;
public KeyCode keycode;//读取按键
private float timer = 0;
private Image filledImage;
private bool isStartTimer = false;
// Use this for initialization
void Start ()
{
filledImage =
transform.Find("FilledImage").GetComponent<Image>();寻找物体
Toggle toggle;
ToggleGroup group;
}
// Update is called once per frame
void Update () {
if (Input.GetKeyDown(keycode))
{
isStartTimer = true;
}
if (isStartTimer)
{
timer += Time.deltaTime;//增量时间
filledImage.fillAmount = (coldTime - timer)/coldTime;//(总时间-运行时间)/总时间
if (timer >= coldTime)
{
filledImage.fillAmount = 0;
timer = 0;
isStartTimer = false;
}
}
}
public void OnClick()//注册到该图像Button组件下On Click()
{
isStartTimer = true;
}
5.单选/Toggle
Is On(是否勾选)
——Background
————Checkmark(勾选图像)
——Label
6.选项卡控制面板切换/Toggle Group
Toggle Group
——Toggle 1
——Toggle 2
——Toggle 3
——Panel 1
——Panel 2
——Panel 3
1.选择多个toggle然后在父类创建Toggle Group
2.在每个Toggle下On Value Changed载入Panel,选择GameObject的SetActive
7.表格/Grid Layout Group
选择Component_Layout_Grid Layout Group
每一个image放在GameObject,可以保持间隔
8.拖拽/IBeginDragHandler,IEndDragHandle
public class LevelButtonScrollRect : MonoBehaviour ,IBeginDragHandler,IEndDragHandler
{
private ScrollRect scrollRect;//滑动组件
public float smoothing = 4;//滑动速度
private float[] pageArray=new float[]{ 0,0.33333f,0.66666f,1 };//每个页面定点位置
public Toggle[] toggleArray;//页面数
private float targetHorizontalPosition=0;//目标位置
private bool isDraging = false;//是否正在拖拽
// Use this for initialization
void Start ()
{
scrollRect = GetComponent<ScrollRect>();调用组件
}
// Update is called once per frame
void Update ()
{
if(isDraging==false)//拖拽结束才运行代码 scrollRect.horizontalNormalizedPosition=Mathf.Lerp(scrollRect.horizontalNormalizedPosition,
targetHorizontalPosition,
Time.deltaTime*smoothing);//从目前位置缓动到目标位置,时间
}
public void OnBeginDrag(PointerEventData eventData)//拖拽开始
{
isDraging = true;
}
public void OnEndDrag(PointerEventData eventData)//拖拽结束
{
isDraging = false;
float posX =
scrollRect.horizontalNormalizedPosition;当前位置
int index = 0;
float offset = Mathf.Abs(pageArray[index] - posX);//绝对值
for (int i = 1; i < pageArray.Length; i++)
{
float offsetTemp = Mathf.Abs(pageArray[i] - posX);
if (offsetTemp < offset)
{
index = i;
offset = offsetTemp;
}
}
targetHorizontalPosition = pageArray[index];//载入目标值
toggleArray[index].isOn = true;
//scrollRect.horizontalNormalizedPosition = pageArray[index];
}
public void MoveToPage1(bool isOn) {
if (isOn)
{
targetHorizontalPosition = pageArray[0];
}
}
public void MoveToPage2(bool isOn) {
if (isOn) {
targetHorizontalPosition = pageArray[1];
}
}
public void MoveToPage3(bool isOn) {
if (isOn)
{
targetHorizontalPosition = pageArray[2];
}
}
public void MoveToPage4(bool isOn) {
if (isOn)
{
targetHorizontalPosition = pageArray[3];
}
}
}
9.Toggle/显示隐藏
1.每次点击通知运行MyToggle
2.MyToggle初始化OnValueChange方法
3.OnValueChange根据Toggle显示或隐藏选项。
public class MyToggle : MonoBehaviour
{
public GameObject isOnGameObject;//直接载入物体
public GameObject isOffGameObject;
private Toggle toggle;
// Use this for initialization
void Start ()
{
toggle = GetComponent<Toggle>();
OnValueChange(toggle.isOn);
}
// Update is called once per frame
void Update () {
}
public void OnValueChange(bool isOn)
{
isOnGameObject.SetActive(isOn);
isOffGameObject.SetActive(!isOn);
}
}
10.InputField/输入
InputField
——Placeholder(文字提示)
——Text(输入的文字)
【InputField】
_Image(背景)
_Content Type(输入类型,是否是密码)
11.texture Type/纹理类型
——【Texture/基本原理】
————Generate Alpha From Grayscale(从灰度产生Alpha通道)
——【Normal Map/法线贴图】
————Bumpiness(控制凹凸的总量)
————Filtering(过滤)
——————Smooth(平滑)
—————— Sharp(锐化)
——【GUI/GUI设置】
——【Reflection/反射设置】
————Mapping ( 映射)
——————Sphere Mapped (纹理映射到一个"球状" 立方体贴图上)
——————Cylindrical (纹理映射到一个圆柱体)
——————Simple Sphere (纹理映射到一个简单的球形,当你旋转它时变形反射)
——————Nice Sphere (纹理映射到一个球形,当你旋转它时变形,但你仍可看到纹理的外观)
——【Cookies/反射设置】
为你的场景增添很多视觉细节的一种有趣方式是使用Cookies——灰阶纹理用来控制游戏中照明的精确外观。这是构建移动云层和给人茂密植物印象的一种奇妙方式
————Light Type (光源类型)
————Generate Alpha From Grayscale(从灰度产生Alpha通道)
12.Button_Transition/点击按钮_转化选项
Transition(转化选项)
——ColorTint(颜色变化)
——SpriteSwap(不同的图片)
——Animation(动画)
【SIKIA计划】_10_Unity5.1UI系统-UGUI笔记的更多相关文章
- Linux系统学习笔记:文件I/O
Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...
- Dubbo -- 系统学习 笔记 -- 快速启动
Dubbo -- 系统学习 笔记 -- 目录 快速启动 服务提供者 服务消费者 快速启动 Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubb ...
- Linux系统安全笔记
Linux系统安全笔记 https://insecure.org/https://sectools.org/SecTools.Org:排名前125的网络安全工具 http://www.ibm.com/ ...
- Dubbo -- 系统学习 笔记 -- 配置
Dubbo -- 系统学习 笔记 -- 目录 配置 Xml配置 属性配置 注解配置 API配置 配置 Xml配置 配置项说明 :详细配置项,请参见:配置参考手册 API使用说明 : 如果不想使用Spr ...
- Dubbo -- 系统学习 笔记 -- 示例 -- 泛化引用
Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 泛化引用 泛接口调用方式主要用于客户端没有API接口及模型类元的情况,参数及返回值 ...
- Dubbo -- 系统学习 笔记 -- 示例 -- 结果缓存
Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 结果缓存 结果缓存,用于加速热门数据的访问速度,Dubbo提供声明式缓存,以减少用 ...
- Dubbo -- 系统学习 笔记 -- 示例 -- 分组聚合
Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 分组聚合 按组合并返回结果,比如菜单服务,接口一样,但有多种实现,用group区分 ...
- Dubbo -- 系统学习 笔记 -- 示例 -- 多版本
Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 多版本 当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间 ...
- Dubbo -- 系统学习 笔记 -- 示例 -- 服务分组
Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 服务分组 当一个接口有多种实现时,可以用group区分. <dubbo:se ...
随机推荐
- 推荐一个好用的以多tab标签方式打开windows CMD的工具
最近我在做基于nodejs的微服务开发,需要在windows命令行里启动很多微服务.我的windows 10任务栏是这样子的: 我想找一款能像下图Chrome标签页这样打开windows 10 CMD ...
- U-Mail邮件群发触发器功能助力营销自动化
小编在朋友圈看到的人工智能讨论越来越多,越来越多的上班族惶恐不安,担心自己的饭碗不保将被人工智能所取代,这说明智能化.自动化正成为各行业的趋势,营销也概莫能外.营销的自动化意味着将大大节省从业人员的精 ...
- Web 通信 之 长连接、长轮询(转)
Web 通信 之 长连接.长轮询(long polling) 基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强 ...
- SGU---107 水题
题目链接: http://codeforces.com/problemsets/acmsguru/problem/99999/107 题目大意: 求n位数有多少个的平方末尾是987654321 思路: ...
- Operating System-Thread(3)用户空间和内核空间实现线程
http://www.cnblogs.com/Brake/archive/2015/12/02/Operating_System_Thread_Part3.html 本文主要内容: 操作系统用户空间和 ...
- TensorFlow函数(十)tf.global_variables_initializer()
tf.global_variables_initializer() 此函数是初始化模型的参数 with tf.Session() as sess: tf.global_variables_initia ...
- 【转】JS实现继承的几种方式
既然要实现继承,那么首先我们得有一个父类,代码如下: // 定义一个动物类 function Animal (name) { // 属性 this.name = name || 'Animal'; / ...
- Windows7下配置JMeter安装环境
JMeter配置安装 1.安装JDK环境 下载地址:http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-21 ...
- 关于NRF52832能否被替代的详解
ULP无线系统级芯片 nRF52832是用于ULP无线应用的功能强大的多协议单芯片解决方案.它结合了业界性能最佳的Nordic最新无线收发器.ARM Cortex M4F CPU和512kB闪存及64 ...
- codewars-7kyu:Sum of the first nth term of Series
Task: Your task is to write a function which returns the sum of following series upto nth term(param ...