<span style="color: rgb(255, 0, 0);">同理 (x 排序 也是一样 只是y固定 x在变)</span>
/// <summary>
/// x 位置 通用
/// y 第一个obj的y
/// padding 行距
/// items obj数组
/// </summary>
public static void SortItems(List<GameObject> items,int padding = 100,float x = 0.0f,float y =0.0f)
{
for (int k = 0; k < items.Count; k++)
{
GameObject item = items[k].gameObject;
float _y = y - padding * k;
item.transform.localPosition = new Vector3(x, _y, item.transform.localPosition.z);
}
}
设置单个item的位置 (结合上面方法使用)
go.transform.localPosition = new Vector3(PosY, 163 - Padding * Items.Count, go.transform.localPosition.z);
// ——y 第一个obj的y 点击张开一个item 其他的全合上
// 摆位置
public void onSortItems(GameObject go,bool isOpenTween)
{
int tweenheight = 260;
if (isOpenTween == false)
tweenheight = 0;
int padding = 110;
int idex = getItemIdexByGameObject(go);
for (int k = 0; k < _Items.Count; k++)
{
GameObject item = _Items[k].gameObject;
float _y = 0.0f;
if (idex < k)
_y = 0 - padding * k - tweenheight;
else
_y = 0 - padding * k;
item.transform.localPosition = new Vector3(_X, _y, item.transform.localPosition.z);
}
}
public int getItemIdexByGameObject(GameObject go)
{
for (int k = 0; k < _Items.Count; k++)
{
GameObject item = _Items[k].gameObject;
if (go == item)
return k;
}
return -1;
}