public class Talk : MonoBehaviour {
public GameObject events;
public Image image;
private float speed = 1f;
private Button goB,goC;
// Use this for initialization
void Start () {
DontDestroyOnLoad(gameObject);//将代码挂某个物体上 可以把他完整的带到下个场景使用
DontDestroyOnLoad(events);//ui 事件系统
//动态获取2个按钮
goB = transform.GetChild(1).GetChild(0).GetComponent<Button>();
goC = transform.GetChild(1).GetChild(1).GetComponent<Button>();
//按钮事件
goB.onClick.AddListener(GoB);
goC.onClick.AddListener(GoC);
}
void GoB()
{
image.color = Color.black;
SceneManager.LoadScene("B");
}
void GoC()
{
image.color = Color.black;
SceneManager.LoadScene("C");
}
// Update is called once per frame
void Update () {
image.color = Color.Lerp(image.color, Color.clear, Time.deltaTime * speed);
}
}
在开发过程中,经常碰到这个场景中的物体或者UI界面,下个场景也可以用到,这个时候就需要用到DontDestroyOnLoad方法,他可以为你优化代码。
这里我是将UI界面带到了下一个场景中使用
代码中的B.C代表了第二和第三个场景
这里的图片主要做了一个场景切换是颜色渐变的效果