UGUI 学习 03

来源:互联网 发布:linux系统下启动apache 编辑:程序博客网 时间:2024/06/18 08:58

505 多个关卡小图标 按网状排序后

如何添加 分页 拖动 浏览的效果   和 缓动效果

代码如下

using UnityEngine;using System.Collections;using UnityEngine.EventSystems;using UnityEngine.UI;public class LevelButtonScrollRect : MonoBehaviour,IBeginDragHandler,IEndDragHandler{    private ScrollRect scrollRect;    private float[] pageArray = new float[] {0,0.33333f,0.66666f,1};    private float targetHorizontalPosition = 0;   <u> public float smoothing = 4;// 插值速度</u>    private bool isDraging = false;// Use this for initializationvoid Start ()    {        scrollRect = GetComponent<ScrollRect>();}// Update is called once per framevoid Update ()     {            <u>if(isDraging ==false)        scrollRect.horizontalNormalizedPosition = Mathf.Lerp(scrollRect.horizontalNormalizedPosition,             targetHorizontalPosition, Time.deltaTime*smoothing);//缓动效果 mathf.lerp(0,1,时间速度)  0-1 以时间速度 进行缓动</u>}    public void OnBeginDrag(PointerEventData eventData)    {        isDraging = true;    }    public void OnEndDrag(PointerEventData eventData)    {        isDraging = false;        float poX = scrollRect.horizontalNormalizedPosition;        int index = 0;        float offset = Mathf.Abs(pageArray[index] - poX);        for (int i =1;i<pageArray.Length;i++)        {            float offsetTemp = Mathf.Abs(pageArray[i] - poX);            if (offsetTemp<offset)            {                index = i;                offset = offsetTemp;            }            targetHorizontalPosition = pageArray[index];            //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];        }    }}
507添加分页按钮

添加 empty object

下列 四个 toggle    代码如上:







0 0
原创粉丝点击