using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using DG.Tweening; using UnityEngine.SceneManagement; public class FreePanel : UIController { [SerializeField] List images; [SerializeField] List BG; [SerializeField] List trans; [SerializeField] List path = new List(); [SerializeField] Button LeftBtn; [SerializeField] Button RigthBtn; [SerializeField] Button StartBtn; [SerializeField] GameObject ReturnBtn; [SerializeField] GameObject User; [SerializeField] GameObject User1; // Start is called before the first frame update void Start() { init(); } void init() { for (int i = 0; i < images.Count; i++) { images[i].name = i.ToString(); UIManager.ins.LoadImageAsync(path[i],BG[i],false); if (images[i].transform.localPosition.x == 0) { images[i].GetComponent().alpha = 1f; images[i].transform.SetAsLastSibling(); } else { images[i].GetComponent().alpha = 0.5f; } } RigthBtn.onClick.AddListener(() => { Right(); }); LeftBtn.onClick.AddListener(() => { Left(); }); StartBtn.onClick.AddListener(() => { for (int i = 0; i < images.Count; i++) { if (images[i].transform.localPosition.x==0) { //填写跳转的具体场景 Debug.Log("完成跳转 "+i); } } SceneManager.LoadScene("MainScenes"); }); } void Left() { for(int i = 0;i < images.Count; i++) { images[i].transform.DOLocalMoveX(LeftGetX(images[i].transform.localPosition.x),0.25f); } for(int i = 0;i< images.Count; i++) { if (images[i].transform.localPosition.x > 20) { images[i].GetComponent().alpha = 1f; images[i].transform.SetAsLastSibling(); } else { images[i].GetComponent().alpha = 0.5f; } } } void Right() { for (int i = 0; i < images.Count; i++) { images[i].transform.DOLocalMoveX(RightGetX(images[i].transform.localPosition.x), 0.25f); } for (int i = 0; i < images.Count; i++) { if (images[i].transform.localPosition.x <0) { images[i].GetComponent().alpha = 1f; images[i].transform.SetAsLastSibling(); } else { images[i].GetComponent().alpha = 0.5f; } } } float LeftGetX(float x) { float temp = 0; if (x>1) { temp = 0; } if (x==0) { temp = -341; } if (x<0) { temp = 279; } return temp; } float RightGetX(float x) { float temp = 0; if (x>1) { temp = -341; } if (x==0) { temp = 279; } if (x<0) { temp = 0; } return temp; } private void OnEnable() { ReturnBtn.SetActive(false); User.SetActive(false); User1.SetActive(true); } private void OnDisable() { ReturnBtn.SetActive(true); User.SetActive(true); User1.SetActive(false); } }