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笔记的更多相关文章

  1. Linux系统学习笔记:文件I/O

    Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...

  2. Dubbo -- 系统学习 笔记 -- 快速启动

    Dubbo -- 系统学习 笔记 -- 目录 快速启动 服务提供者 服务消费者 快速启动 Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubb ...

  3. Linux系统安全笔记

    Linux系统安全笔记 https://insecure.org/https://sectools.org/SecTools.Org:排名前125的网络安全工具 http://www.ibm.com/ ...

  4. Dubbo -- 系统学习 笔记 -- 配置

    Dubbo -- 系统学习 笔记 -- 目录 配置 Xml配置 属性配置 注解配置 API配置 配置 Xml配置 配置项说明 :详细配置项,请参见:配置参考手册 API使用说明 : 如果不想使用Spr ...

  5. Dubbo -- 系统学习 笔记 -- 示例 -- 泛化引用

    Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 泛化引用 泛接口调用方式主要用于客户端没有API接口及模型类元的情况,参数及返回值 ...

  6. Dubbo -- 系统学习 笔记 -- 示例 -- 结果缓存

    Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 结果缓存 结果缓存,用于加速热门数据的访问速度,Dubbo提供声明式缓存,以减少用 ...

  7. Dubbo -- 系统学习 笔记 -- 示例 -- 分组聚合

    Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 分组聚合 按组合并返回结果,比如菜单服务,接口一样,但有多种实现,用group区分 ...

  8. Dubbo -- 系统学习 笔记 -- 示例 -- 多版本

    Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 多版本 当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间 ...

  9. Dubbo -- 系统学习 笔记 -- 示例 -- 服务分组

    Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 服务分组 当一个接口有多种实现时,可以用group区分. <dubbo:se ...

随机推荐

  1. js数组去重的方法(转)

    JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...

  2. docker 导入导出镜像

    docker容器导入导出有两种方法: 一种是使用save和load命令 使用例子如下: docker save ubuntu:load>/root/ubuntu.tar docker load& ...

  3. chrome://命令

    一些常用的命令: chrome://version 显示当前版本 chrome://flags 实验项目,加“#项目名称”锚点可以直接定位到项目 chrome://settings 设置,下图是设置定 ...

  4. 记录一下iOS Leak的使用方法。

    观测过程中不需要使用xcode.只需观察Leak工具即可 1:选中Xcode,点击左上角的Xcode.找到tool   然后找到instrument.如下图 2:打开instrument 找到Leak ...

  5. Kafka设计解析(三)Kafka High Availability (下)

    转载自 技术世界,原文链接 Kafka设计解析(三)- Kafka High Availability (下) 摘要 本文在上篇文章基础上,更加深入讲解了Kafka的HA机制,主要阐述了HA相关各种场 ...

  6. vue实现分页

    效果图: html页面: data数据: 方法: 计算属性: 样式: html代码: <!--分页--> <div class="page-bar"> &l ...

  7. c++类模板之友元函数

    前言:自从开始学模板了后,小编在练习的过程中.常常一编译之后出现几十个错误,而且还是那种看都看不懂那种(此刻只想一句MMP).于是写了便写了类模板友元函数的用法这篇博客.来记录一下自己的学习. 普通友 ...

  8. jQuery hide() 参数callback回调函数执行问题

    $("#b").click(function() { $("div").hide(1000,bbb); //-------------1 bbb是一个函数,但这 ...

  9. Redis 之深入江湖-复制原理

    一.前言 上一篇文章Redis 之复制-初入江湖中,讲了关于Redis复制配置,如:如何建立配置.如何断开复制.关于链接的安全性等等,那么本篇文章将深入的去说一下关于Redis复制原理,如下: 复制过 ...

  10. JavaWeb基础—Tomcat

    JavaWeb服务器:可以运行以及发布JavaWeb应用的JavaWeb容器,开发项目必须放在该容器中才可以被浏览器访问.(只能等待请求,然后做出响应) 静态资源(HTML):数据始终不变 动态资源( ...