Unity3D_死循环怎么办_解决死循环的办法

当我们无意间写了死循环,此时只能调出任务管理器重新打开Unity工程

一个偶然的机会我得知了一个不用结束任务,就可以挽救死循环的方法,整理如下

总体思路:

首先,创建一个 Cube,让它沿Y轴旋转,通过它是否旋转来判断程序是否进入了死循环;

其次,创建一个 bool 类型的变量,默认值为false,通过按下空格键来使这个变量值为true;

然后,写一个While循环,循环条件为上一步创建的 bool 变量,变量值为true,程序就进入了死循环;

最后,我们通过 VS 的断点调试,来解决死循环,拯救卡死的 Unity。

调试步骤:

 

 

 

 

 

 

 最后Unity就被从卡死状态拯救回来了。

 

代码展示:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class OnlyWhile : MonoBehaviour
{
    private bool isSpaceDown;

    // Update is called once per frame
    void Update()
    {
        // 让 Cube 旋转
        transform.Rotate(Vector3.up, Space.World);

        // 当按下空格键的时候,循环条件赋值为 true
        if (Input.GetKeyDown(KeyCode.Space))
        {
            isSpaceDown = true;
        }

        // 当 isSpaceDown 为 true 时进入死循环
        while (isSpaceDown)
        {
            print("死循环");
        }
    }
}

 

示例工程(基于Unity版本 2019.1.11f1):点击下载

posted on 2023-07-28 12:07  考拉宝贝  阅读(201)  评论(0编辑  收藏  举报

导航