引导:
总目录中,有5个分目录,分别指向5个场景,该目录Canvas模块写成Don’tDestroyOnLoad——切换场景时,代表当前场景的目录变为红色,例如切换到第5个场景时,目录“第四题”设为红色。
核心:
如果“激活”场景.名字=本场景的名字,那么代表当前场景的目录改为红色(所有目录先都恢复正常颜色)
if(SceneManager.GetActiveScene().name == "Ques1Scn")
{
for (int i = 0; i < 5; i++)
{
imageList[i].color = new Vector4(1, 1, 1, 1);
}
image1.color = Color.red;
}
源码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class ControllTitle : MonoBehaviour
{
public Image image0, image1, image2, image3, image4;//目录图片,把它们放到集合或数组里,便于统一操作
public List<Image> imageList = new List<Image>();
void Start()
{
imageList.Add(image0);
imageList.Add(image1);
imageList.Add(image2);
imageList.Add(image3);
imageList.Add(image4);
}
void Update()
{
//Debug.Log(SceneManager.GetActiveScene().name+"当前场景的名字");
if(SceneManager.GetActiveScene().name == "Ques1Scn")
{
for (int i = 0; i < 5; i++)
{
imageList[i].color = new Vector4(1, 1, 1, 1);
}
image1.color = Color.red;
}
if (SceneManager.GetActiveScene().name == "Ques2Scn")
{
for (int i = 0; i < 5; i++)
{
imageList[i].color = new Vector4(1, 1, 1, 1);
}
image2.color = Color.red;
}
if (SceneManager.GetActiveScene().name == "Ques3Scn")
{
for (int i = 0; i < 5; i++)
{
imageList[i].color = new Vector4(1, 1, 1, 1);
}
image3.color = Color.red;
}
if (SceneManager.GetActiveScene().name == "Ques4Scn")
{
for (int i = 0; i < 5; i++)
{
imageList[i].color = new Vector4(1, 1, 1, 1);
}
image4.color = Color.red;
}
if (SceneManager.GetActiveScene().name == "PowerScn")
{
for (int i = 0; i < 5; i++)
{
imageList[i].color = new Vector4(1, 1, 1, 1);
}
image0.color = Color.red;
}
}