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. TCP socket和web socket的区别

    小编先习惯性的看了下某中文百科网站对Web Socket的介绍,觉得很囧.如果大家按照这个答案去参加BAT等互联网公司的前端开发面试,估计会被鄙视. 还是让我们阅读一些英文材料吧. 让我们直接看sta ...

  2. 学习python第四天——Oracle查询

    3.子查询(难): 当进行查询的时候,发现需要的数据信息不明确,需要先通过另一个查询得到, 此查询称为子查询: 执行顺序:先执行子查询得到结果以后返回给主查询 组成部分: 1).主查询部分 2).子查 ...

  3. 学习python第三天之多行函数

    多行函数:(聚合函数/分组函数) 解释:多条数据进入,单条结果出来(多进单出) 1).max(obj):最大值 2).min(obj):最小值 3).sum(num):求和 4).avg(num):求 ...

  4. android小游戏模版—重力感应

               好久没更新博客了,今天来谈谈android小游戏---重力感应,一般在游戏里运用的比較多,比方这类游戏有:神庙逃亡.极品飞车,平衡球.三围重力迷宫,重力赛车等. 首先什么是重力感 ...

  5. 有料面试题之--Object里面的方法

    阿里的面试题里面有个题很奇妙:你知道Object类里面有哪些方法吗? 绝大部分猿类都知道 有hashcode .equals .clone.toString 只有部分人会回答有 wait和notify ...

  6. ali验证码推送接口调用

    /** * 发送接口 * @param $info 发送信息的某些参数 * @return bool */ public function send($info) { $config = target ...

  7. 2251. [2010Beijing Wc]外星联络【后缀数组】

    Description 小 P 在看过电影<超时空接触>(Contact)之后被深深的打动,决心致力于寻 找外星人的事业.于是,他每天晚上都爬在屋顶上试图用自己的收音机收听外星 人发来的信 ...

  8. juquery去除字符串前后的空格

    1.  去掉字符串前后所有空格: 代码如下: function Trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); }

  9. Python文件和流

    #coding = utf-8 from pprint import pprint import fileinput #read(n) f = open(r'E:\test_dir\somefile. ...

  10. JDK(八)JDK1.7&1.8源码对比分析【集合】HashMap

    前言 在JDK1.8源码分析[集合]HashMap文章中,我们分析了HashMap在JDK1.8中新增的特性(引进了红黑树数据结构),但是为什么要进行这个优化呢?这篇文章我们通过对比JDK1.7和1. ...