2D 弧形滚动条
public List
public List
//List
List
List
int songIdex = 0;
//List
float piAngle = 0.6f;
public GameObject openAiBtn = null;
private void Awake()
{
}
private void Start()
{
//left
for (int i = 0; i < songItems.Count; i++)
{
//double angle = Util.GetPIAngle(songItems[i].transform.localPosition);
double angle = Math.PI * (piAngle + 0.1f * i);
var vct = Util.GetAngleToPos(angle) * distance;
songItems[i].transform.localPosition = vct;
rightSongItems[i].transform.localPosition = new Vector3(-vct.x, vct.y);
drageAngles.Add(angle);
//itemAngles.AddRange(drageAngles);
songItems[i].transform.SetSiblingIndex(cengNums[i]);
rightSongItems[i].transform.SetSiblingIndex(cengNums[i]);
var num = GetSongIdex(i - 4);
//Debug.Log("songIndex" + num);
songItems[i].transform.Find("Text").GetComponent
rightSongItems[i].transform.Find("Text").GetComponent
}
RefeshDebug();
//ClickOpenAI();
GetVctToOlure((float)(5 * 0.1f * Math.PI / addNum));
h_Index = 2;
InitBtn();
}
void RefeshDebug()
{
openAiBtn.SetActive(Manager.isDebug);
}
private void OnEnable()
{
h_Index = 2;
RefreshDown();
DebugEvent.Register(RefeshDebug);
}
int GetSongIdex(int num)
{
if (num < 0)
{
num += Manager.Instance.songEasyDatas.Count;
}
else if (num >= Manager.Instance.songEasyDatas.Count)
{
num -= Manager.Instance.songEasyDatas.Count;
}
//Debug.Log("Reture_Song" + num);
return num;
}
void Update()
{
BaseUpdate();
}
int numX = 0;
public float addNum = 0.000002f;
public float distance = 500;
//拖拽输入
//逆向围绕中心点移动
public void GetVctToOlure(float num)
{
List
for (int i = 0; i < songItems.Count; i++)
{
listItems.Add(songItems[i]);
double fAngle = drageAngles[i];
fAngle -= addNum * num;
if (fAngle < 0.55f * Math.PI)
{
fAngle += (float)(0.9f * Math.PI);
//Debug.Log("+fAngle-" + fAngle);
RefreshIndex(1);
//isUpdate = true;
songItems[i].transform.Find("Text").GetComponent
rightSongItems[i].transform.Find("Text").GetComponent
}
if (fAngle > 1.45f * Math.PI)
{
fAngle -= (float)(0.9f * Math.PI);
//Debug.Log("+fAngle+" + fAngle);
RefreshIndex(-1);
//isUpdate = true;
songItems[i].transform.Find("Text").GetComponent
rightSongItems[i].transform.Find("Text").GetComponent
}
drageAngles[i] = fAngle;
var vct = Util.GetAngleToPos(fAngle) * distance;
songItems[i].transform.localPosition = vct;
rightSongItems[i].transform.localPosition = new Vector3(-vct.x, vct.y);
}
for (int i = 0; i < listItems.Count - 1; i++)
{
for (int j = 0; j < listItems.Count - 1 - i; j++)
{
if (listItems[j].transform.localPosition.y > listItems[j + 1].transform.localPosition.y)
{
var temp = listItems[j];
listItems[j] = listItems[j + 1];
listItems[j + 1] = temp;
}
}
}
for (int i = 0; i < listItems.Count; i++)
{
listItems[i].transform.SetSiblingIndex(cengNums[i]);
if (i == 4)
{
lightNum = int.Parse(listItems[i].name);
}
}
for (int i = 0; i < songItems.Count; i++)
{
int numIndex = songItems[i].transform.GetSiblingIndex();
rightSongItems[i].transform.SetSiblingIndex(numIndex);
}
RreshIndex();
}
void RefreshIndex(int num)
{
int numA = GetSongIdex(songIdex += num);
songIdex = numA;
Debug.Log("fact" + numA);
}