程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> Unity UGUI教程之完成滑頁後果

Unity UGUI教程之完成滑頁後果

編輯:C#入門知識

Unity UGUI教程之完成滑頁後果。本站提示廣大學習愛好者:(Unity UGUI教程之完成滑頁後果)文章只能為提供參考,不一定能成為您想要的結果。以下是Unity UGUI教程之完成滑頁後果正文


簡介

項目須要...直接展現後果吧:


道理

應用UGUI供給的ScrollRect和ScrollBar組件完成根本滑動和本身掌握每次挪動一頁來到達滑頁的後果。

完成進程

1.創立兩個panel,下面的panel用於顯示,上面的panel用於寄存按鈕

2.在TopPanel上添加ScrollRect劇本,用於滑動

3.在TopPanel下創立一個新的Panel,並在子Panel下訪問要顯示的對象

4.將該子Panel設置為ScrollRect的運動對象

5.為ScrollRect添加ScrollBar轉動條,直接在空白處單機右鍵添加ScrollBar便可

6.將ScrollBar與ScrollRect聯系關系

7.設置ScrollRect的其他參數

8.將SliderControl劇本掛在TopPanel上,並聯系關系ScrollBar

9.添加呼應事宜

為按鈕也添加響應的事宜(記住是五個按鈕哈)

10.運轉檢查後果吧,假如失足,請檢討上述步調

代碼

SliderControl:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class SliderControl : MonoBehaviour
{
public Scrollbar m_Scrollbar;
public ScrollRect m_ScrollRect;
private float mTargetValue;
private bool mNeedMove = false;
private const float MOVE_SPEED = 1F;
private const float SMOOTH_TIME = 0.2F;
private float mMoveSpeed = 0f;
public void OnPointerDown()
{
mNeedMove = false;
}
public void OnPointerUp()
{
// 斷定以後位於哪一個區間,設置主動滑動至的地位
if (m_Scrollbar.value <= 0.125f)
{
mTargetValue = 0;
}
else if (m_Scrollbar.value <= 0.375f)
{
mTargetValue = 0.25f;
}
else if (m_Scrollbar.value <= 0.625f)
{
mTargetValue = 0.5f;
}
else if (m_Scrollbar.value <= 0.875f)
{
mTargetValue = 0.75f;
}
else
{
mTargetValue = 1f;
}
mNeedMove = true;
mMoveSpeed = 0;
}
public void OnButtonClick(int value)
{
switch (value)
{
case 1:
mTargetValue = 0;
break;
case 2:
mTargetValue = 0.25f;
break;
case 3:
mTargetValue = 0.5f;
break;
case 4:
mTargetValue = 0.75f;
break;
case 5:
mTargetValue = 1f;
break;
default:
Debug.LogError("!!!!!");
break;
}
mNeedMove = true;
}
void Update()
{
if (mNeedMove)
{
if (Mathf.Abs(m_Scrollbar.value - mTargetValue) < 0.01f)
{
m_Scrollbar.value = mTargetValue;
mNeedMove = false;
return;
}
m_Scrollbar.value = Mathf.SmoothDamp(m_Scrollbar.value, mTargetValue, ref mMoveSpeed, SMOOTH_TIME);
}
}
} 

總結

挪動用的mathf供給的膩滑函數,假如須要阻尼後果,可以本身修正代碼。

以上內容是小編給年夜家引見的Unity UGUI教程之完成滑頁後果,願望對年夜家有所贊助!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved