C# 单位延迟的Application.LoadLevel()
我的角色在游戏中死亡后,是否有可能延迟加载关卡?我正在使用以下代码:C# 单位延迟的Application.LoadLevel(),c#,unity3d,C#,Unity3d,我的角色在游戏中死亡后,是否有可能延迟加载关卡?我正在使用以下代码: void Update () { if (health.currentVal <= 0) Die (); } void Die(){ Application.LoadLevel (Application.loadedLevel); } void更新(){ 如果(health.currentVal,您可以使用Invoke并等待5秒钟 Invoke("Die",5); 您还可以使用协同程序 IEnumera
void Update () {
if (health.currentVal <= 0)
Die ();
}
void Die(){
Application.LoadLevel (Application.loadedLevel);
}
void更新(){
如果(health.currentVal,您可以使用Invoke并等待5秒钟
Invoke("Die",5);
您还可以使用协同程序
IEnumerator waitRestart()
{
yield return new WaitForSeconds(5); //Wait for 5 secs
Die();
}
然后用start例程(waitRestart())调用它;
用Invoke()
调用它。第二个参数是以秒为单位的时间延迟
void Update ()
{
if (health.currentVal <= 0)
{
Invoke("Die", 3f);
}
}
void更新()
{
如果(health.currentVal)很好,工作正常。当我们等待重新开始游戏时,是否也可以冻结或禁用“玩家”对象的移动?新的问题是,当玩家“死亡”时,我仍然可以移动他@TomášTomHaverla yes.创建一个布尔变量并使用它来确定玩家何时死亡。例如,bool isDead;
,然后在移动玩家之前,在移动代码中确保玩家没有死亡。您可以使用if(!isDead){//将移动代码放在这里};
。the“!”意思是没有死。另外,在你调用Invoke(“Die”,5);
之前,当玩家因执行isDead=true;
而死亡时,makeisDead
应该是true
。如果你仍然对此有疑问,创建新的问题,因为这是一个完全不同的问题。不要忘记接受这个答案,因为你已经找到了它。