UI是每一款游戏都必备的内容,特别是登录注册,页面加载等,以及游戏界面内的UI都是必不可缺的一个因素。这里讲解一下如何不通过公开拖拉的方式,去实现页面跳转,显示隐藏。拖拉的方式如果出现UI过多以及,UI界面被意外删除的情况下,拖拉的方式就会出现弊端,导致无法发现自己的错误,而私有调用的方式就比拖拉的方式更好解决这个问题。
如果需要把原先的UI或者游戏对象,我们可以通过DontDestroyOnLoad()这个方法去保存我们想要保存的游戏对象等。
注:事件系统一定得保存!!!!不然UI里面的所有对象都会失效,这里的游戏场景跳转属于同步跳转,相对于把之前的游戏场景内容销毁。连同事件系统(以上都是个人看点及想法)。
public GameObject eventSystem;
public Image img;
private float speed=1.5f;
private Button A, B;
void Start()
{
//保存原有的场景游戏对象,保存事件系统
DontDestroyOnLoad(this.gameObject);
DontDestroyOnLoad(eventSystem);
//找到butten按钮
A = GameObject.Find("goA").GetComponent<Button>();
B = GameObject.Find("goB").GetComponent<Button>();
//添加监听事件
A.onClick.AddListener(getA);
B.onClick.AddListener(getB);
}
void getA()
{
//刷新重赋渐变颜色
img.color= Color.black;
//场景跳转
SceneManager.LoadScene(1);
}
void getB()
{
img.color= Color.black;
SceneManager.LoadScene(2);
}
void Update()
{
//背景板的渐变色
img.color = Color.Lerp(img.color, Color.clear, Time.deltaTime * speed);
}
这里开启游戏之后,黑布就会渐变消失,然后就会出现一个机器人和一个小女孩
点击按钮goA时,会跳转到场景A中,出现一个正方体。而最开始的场景中的按钮goA和按钮goB会一起留下来
注:这里红色圈圈必须保存下来,不让俩个按钮会失效,这就是DontDestroyOnLoad(eventSystem)方法的作用
点击按钮goB时,会跳转到场景B中,出现一个球。
这里可以一直通过俩个按钮进行场景的切换,每一次都会有渐变的效果。