本人学习了一下的小白写法,可能有更好的方式,但是目前我发现可以这么做,大家也可以试试其他方法。
目标:在UNITY中,点击按钮后,有三个界面(或Raw image)依次显示:第一个界面延迟1秒出现,第二个界面延迟3秒出现且第一个界面消失,第三个界面再延迟3秒出现且第二个界面消失。
首先是在Assets里面新建一个C#脚本,我们就命名为delaydisplay3吧,双击打开visual studio进行编辑。
然后程序的内容为:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class delaydisplay3 : MonoBehaviour
{
// 定义三个公开值,来储存三个需要控制的UI背景画布
public GameObject Canvas1;//定义画布1
public GameObject Canvas2;//定义画布2
public GameObject Canvas3;//定义画布3
public void Start1()
{
// 这里是设置了三个延迟执行的程序,第一秒执行了Delaynew1,第4秒执行了Delaynew2,第7秒Delaynew3,这样相隔是1秒,3秒,3秒
Invoke("Delaynew1", 1f);
Invoke("Delaynew2", 4f);
Invoke("Delaynew3", 7f);
}
// Update is called once per frame
public void Delaynew1()
{
Canvas1.SetActive(true);//实现激活画布1
}
public void Delaynew2()
{
Canvas1.SetActive(false);//实现关闭画布1
Canvas2.SetActive(true);//实现激活画布2这样实现图片切换
}
public void Delaynew3()
{
Canvas2.SetActive(false);//实现关闭画布2
Canvas3.SetActive(true);//实现打开画布3再次切换
}
}
这样创建好之后,保存,一定记得MonoBehaviour前面的那个值要和unity里面的文件名一致才可以哈。
然后,将这个程序添加到需要绑定的BUTTON上面,添加方法为:点击hierarchy里面的BUTTON元素,在inspector最下面点击Add Component,再输入我们刚才创建的delaydisplay3脚本,就添加进去了。如果添加成功的话,应该出现三个空白的接口,如图所示。此时需要把hierarchy里面的三个界面元素拖过来,第一个界面拖到Canvas1,第二个同理,第三个同理,以此类推。
切换完成之后,把button自己拖到button的执行页面上,然后找到Delaydisplay3里面的start1(),选完以后就成了下图的样子
这时候再运行试试看能否正常执行
这样就可以实现点击按钮后,三个界面依次显示,第一个界面延迟1秒出现,第二个界面延迟3秒出现且第一个界面消失,第三个界面再延迟3秒出现且第二个界面消失。
本站其他unity相关内容:
其他unity内容: https://www.gongyesheji.org/?cat=860
UNITY如何删除插件(包/packages)
Hololens2+unity实现QRCODE二维码识别
unity如何实现点击按钮后文字改变