最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

unity實現(xiàn)翻頁效果

 更新時間:2021年03月02日 16:08:41   作者:weixin_44462815  
這篇文章主要為大家詳細介紹了unity實現(xiàn)翻頁效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了unity實現(xiàn)翻頁效果的具體代碼,供大家參考,具體內容如下

一、示意圖

二、步驟

創(chuàng)建物體ToPanel;添加組件ScrollRect,
在下面創(chuàng)建一個空物體用來裝需要移動的子物體,

創(chuàng)建一個Scrollbar;

三、代碼

下面展示一些 內聯(lián)代碼片。

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;

public class SliderControl : MonoBehaviour
{
  public Scrollbar m_Scrollbar;
  public ScrollRect m_ScrollRect;
  [Header("子物體的父物體")]
  public GameObject panel;
  [Header("移動到多少百分比圖片切換")]  //注釋
  [Range(0.1f, 0.9f)] //范圍
  public float banfenbi = 0.5f;
  [Header("是否限制一次只能切換一張圖片")]  
  public bool limit = false;

  private float mTargetValue;
  private bool mNeedMove = false;
  private const float SMOOTH_TIME = 0.2F;
  private float mMoveSpeed = 0f;

  private float child_Count;
  private float num1;
  private float var_Down;
  private List<float> num_list1 =new List<float>();
  private List<float> num_list2 = new List<float>();
  private List<float> num_list3 = new List<float>();
  private int weizhi; //頁數(shù)
  void Start()
  {
    weizhi = 0;
    child_Count = panel.transform.childCount;
    num1 = 1 / (child_Count - 1);
    print("-----子物體數(shù)量------  " + child_Count + "   " + num1);
    for (int i = 0; i < child_Count; i++)
    {
      float a = 0;
      num_list1.Add(a + num1 * i);
      float b = (a + num1 * i) + (num1 * banfenbi);
      num_list2.Add(b);
      float c = (a + num1 * i) + (num1 * (1-banfenbi));
      num_list3.Add(c);
      print("---child_Count----- " + num_list1[i] + "  " + num_list2[i]);
    }
  }
  public void OnPointer()
  { }

  public void OnPointerDown()
  {
    //print("---OnPointerDown----");
    var_Down = m_Scrollbar.value;
    mNeedMove = false;
  }
  public void OnPointerUp()
  {
    //print("---OnPointerUp----");
    //print("-----m_Scrollbar.value---- " + m_Scrollbar.value);
    for (int i = 0; i < child_Count; i++)
    {
      float num;
      if (var_Down- m_Scrollbar.value<0)
      {
        num = num_list2[i];
      }
      else
      {
        num = num_list3[i];
      }
      if (m_Scrollbar.value <= num)
      {
        if (limit)
        {
          if (i> weizhi)
          {
            weizhi = weizhi + 1;
          }
          else if (i == weizhi)
          {
            weizhi = i;
          }
          else
          {
            weizhi = weizhi - 1;
          }
          mTargetValue = num_list1[weizhi];
        }
        else
        {
          mTargetValue = num_list1[i];
          weizhi = i;  //頁數(shù)
        }
        break;
      }
    }

    mNeedMove = true;
    mMoveSpeed = 0;
  }
  /// <summary>
  /// 直接跳轉到指定頁數(shù)
  /// </summary>
  /// <param name="頁數(shù)"></param>
  public void OnButtonClick(int value)
  {
    mTargetValue = num_list1[value];
    if (mTargetValue<0)
    {
      mTargetValue = 0;
    }
    if (mTargetValue>1)
    {
      mTargetValue = 1;
    }
    weizhi = value;
    mNeedMove = true;
  }
  void Update()
  {
    if (mNeedMove)
    {
      if (Mathf.Abs(m_Scrollbar.value - mTargetValue) < 0.01f)
      {
        m_Scrollbar.value = mTargetValue;
        mNeedMove = false;
        MoveEnd();
        return;
      }
      m_Scrollbar.value = Mathf.SmoothDamp(m_Scrollbar.value, mTargetValue, ref mMoveSpeed, SMOOTH_TIME);
    }
  }
  /// <summary>
  /// 移動完畢的回調
  /// </summary>
  public void MoveEnd()
  {
    print("----- 移動完畢-----第幾頁--- "+ (weizhi+1));
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C# 中使用NModbus4通信庫執(zhí)行寫操作

    C# 中使用NModbus4通信庫執(zhí)行寫操作

    在C#中NModbus4庫提供了一個方便的方式來與支持Modbus協(xié)議的設備進行交互,本文就來介紹了使用NModbus4通信庫執(zhí)行寫操作,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • C#?使用SpecFlow創(chuàng)建BDD測試用例的示例代碼

    C#?使用SpecFlow創(chuàng)建BDD測試用例的示例代碼

    這篇文章主要介紹了C#?使用SpecFlow創(chuàng)建BDD測試用例,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Unity 按鈕添加OnClick事件操作

    Unity 按鈕添加OnClick事件操作

    這篇文章主要介紹了Unity 按鈕添加OnClick事件操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • C#實現(xiàn)從PDF中提取表格的方法詳解

    C#實現(xiàn)從PDF中提取表格的方法詳解

    PDF是辦公中比較常見的一種文件格式,在工作中應用也越來越普遍。今天為大家介紹一種通過C#/VB.NET代碼從PDF中提取表格內容的方法,感興趣的可以動手嘗試一下
    2022-08-08
  • WPF使用WrapPanel實現(xiàn)虛擬化效果

    WPF使用WrapPanel實現(xiàn)虛擬化效果

    這篇文章主要為大家詳細介紹了如何利用WPF WrapPanel實現(xiàn)虛擬化效果,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,感興趣的小伙伴可以了解一下
    2022-09-09
  • c#操作iis根目錄的方法

    c#操作iis根目錄的方法

    這篇文章主要介紹了c#操作iis根目錄的方法,涉及C#針對IIS下目錄的相關操作技巧,需要的朋友可以參考下
    2015-06-06
  • Unity之Luaframework框架lua調用C#方法

    Unity之Luaframework框架lua調用C#方法

    這篇文章主要介紹了Unity之Luaframework框架lua調用C#方法,在這里需要寫一個C#腳本,腳本里寫方法需要在lua中調用,具體實例代碼參考下本文吧
    2021-09-09
  • 用C#繪制九宮格形式的圖片

    用C#繪制九宮格形式的圖片

    大家好,本篇文章主要講的是用C#繪制九宮格形式的圖片,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • C# 輸出字符串到文本文件中的實現(xiàn)代碼

    C# 輸出字符串到文本文件中的實現(xiàn)代碼

    本文通過一個簡單的代碼給大家介紹C# 輸出字符串到文本文件中,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • C#實現(xiàn)飛行棋源碼

    C#實現(xiàn)飛行棋源碼

    這篇文章主要為大家詳細介紹了C#實現(xiàn)飛行棋源碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02

最新評論

盐津县| 竹溪县| 保康县| 沙湾县| 盘锦市| 闽侯县| 黄冈市| 五峰| 青海省| 民乐县| 五台县| 舟曲县| 滦南县| 汉中市| 温宿县| 化隆| 天门市| 连江县| 正镶白旗| 九江县| 墨江| 枣阳市| 延安市| 武宁县| 江华| 永和县| 辰溪县| 景洪市| 澜沧| 禄劝| 南开区| 新巴尔虎右旗| 浏阳市| 临汾市| 西乌珠穆沁旗| 若尔盖县| 陈巴尔虎旗| 东莞市| 杭锦后旗| 尤溪县| 论坛|