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. struts2中的文件上传和下载

    天下大事,必做于细.天下难事,必作于易. 以前见过某些人,基础的知识还不扎实就去学习更难的事,这样必定在学习新的知识会非常迷惑结果 再回来又一次学习一下没有搞懂的知识,这必定会导致学习效率的下降!我写 ...

  2. ajax执行失败原因

    ajax 跳入error的一些原因 先放一个标准的jquery的ajax代码: $.ajax({ type: 'POST', url: 'getSecondClassification', data: ...

  3. etherlime-1-Quick Start

    https://etherlime.readthedocs.io/en/latest/getting-started.html Quick Start Installing全局安装 npm i -g ...

  4. Vue滚动加载自定义指令

    用Vue在移动端做滚动加载,使用mint-ui框架, InfiniteScroll指令loadmore组件,在uc浏览器和qq浏览器都无法触发.无奈我只能自己写了. 决定用vue 的自定义指令 写滚动 ...

  5. 【转】Tomcat 9.0安装配置

    本文转自:http://blog.sina.com.cn/s/blog_15126e2170102w5o8.html 一.JDK的安装与配置 1.从官网下载jdk,注意是jdk不是jre.最好从官网下 ...

  6. for 循环使用 enumerate 以及yield生成器简单例子

    >>>seq = ['one', 'two', 'three'] >>> for i, element in enumerate(seq): ... print i ...

  7. linux文件系统初始化过程(6)---执行init程序

    一.目的 内核加载完initrd文件后,为挂载磁盘文件系统做好了必要的准备工作,包括挂载了sysfs.proc文件系统,加载了磁盘驱动程序驱动程序等.接下来,内核跳转到用户空间的init程序,由ini ...

  8. Centos7 yum安装Mysql5.7

    1.下载mysql安装源 curl -LO http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 2.安装yum源 ...

  9. 能够让你装逼的10个Python小技巧

      列表推导式 你有一个list: bag = [1, 2, 3, 4, 5] 现在你想让所有元素翻倍,让它看起来是这个样子: [2, 4, 6, 8, 10] 大多初学者,根据之前语言的经验会大概这 ...

  10. C++_编写动态链接库

    原文:http://blog.csdn.net/a7055117a/article/details/47733247 动态链接库简介 动态链接库(Dynamic Link Library 或者 Dyn ...