浏览器嵌入,国旗文件
This commit is contained in:
1 parent
e7a3214cb5
commit
07feba912c
552 files changed
+39279
-8128
No files matched your search
@@ -0,0 +1,101 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class QuickLoginScroll : MonoBehaviour
|
||||
{
|
||||
// Start is called before the first frame update
|
||||
private ScrollRect scroll;
|
||||
private Transform content;
|
||||
private float contentSize;
|
||||
private int count;
|
||||
[SerializeField] Button L, R;
|
||||
void Start()
|
||||
{
|
||||
scroll = gameObject.GetComponent<ScrollRect>();
|
||||
content = gameObject.transform.Find("Viewport").Find("Content");
|
||||
//Initial();
|
||||
if (L != null)
|
||||
{
|
||||
L.onClick.AddListener(goLeft);
|
||||
}
|
||||
if (R != null)
|
||||
{
|
||||
R.onClick.AddListener(goRight);
|
||||
}
|
||||
}
|
||||
public void Initial()
|
||||
{
|
||||
count = content.childCount;
|
||||
if (content.childCount - 2 > 0)
|
||||
{
|
||||
contentSize = 1f / (content.childCount - 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
contentSize = 0;
|
||||
}
|
||||
//scroll.horizontalNormalizedPosition = 0;
|
||||
Canvas.ForceUpdateCanvases();
|
||||
scroll.horizontalNormalizedPosition = contentSize/2;
|
||||
SetColor();
|
||||
}
|
||||
void goLeft()
|
||||
{
|
||||
if (scroll.horizontalNormalizedPosition <= contentSize) return;
|
||||
if (!start) startPosition = scroll.horizontalNormalizedPosition;
|
||||
start = true;
|
||||
scrollValue = -1 * contentSize / 30;
|
||||
}
|
||||
void goRight()
|
||||
{
|
||||
if ((scroll.horizontalNormalizedPosition + contentSize) >= 1) return;
|
||||
if (!start) startPosition = scroll.horizontalNormalizedPosition;
|
||||
start = true;
|
||||
scrollValue = contentSize / 30;
|
||||
}
|
||||
private bool start = false, _lock = false;
|
||||
private float scrollValue = 0, totalScrollValue = 0, startPosition = 0;
|
||||
void SetColor()
|
||||
{
|
||||
int index = (int)System.Math.Round(
|
||||
(scroll.horizontalNormalizedPosition + (contentSize / 2)) / contentSize,
|
||||
0);
|
||||
for (int i = 1; i < content.childCount-1; i++)
|
||||
{
|
||||
string c;
|
||||
if (i == index)
|
||||
{
|
||||
content.GetChild(i).GetComponent<QuickLoginUser>().setActive();
|
||||
}
|
||||
else
|
||||
{
|
||||
content.GetChild(i).GetComponent<QuickLoginUser>().setNoActive();
|
||||
}
|
||||
}
|
||||
}
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
if (start)
|
||||
{
|
||||
totalScrollValue += scrollValue;
|
||||
if (System.Math.Abs(totalScrollValue) >= contentSize)
|
||||
{
|
||||
scrollValue = 0;
|
||||
start = false;
|
||||
scroll.horizontalNormalizedPosition = startPosition + totalScrollValue;
|
||||
//Debug.Log();
|
||||
|
||||
SetColor();
|
||||
totalScrollValue = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
scroll.horizontalNormalizedPosition += scrollValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user