当我们无意间写了死循环,此时只能调出任务管理器重新打开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):点击下载