A játékát bármikor szüneteltetheti a szerkesztőből. De tudtad, hogy a szünetet a kódból is kiválthatod valamilyen feltétel alapján?
Létezik egy konzol opció, a Hiba szüneteltetése. Ha engedélyezve van, akkor szünetelteti a játékot, ha bármilyen futási hiba lép fel. Amikor a játékod szünetel, könnyen megvizsgálhatod, hogy mi történik a jelenetedben, így jobban megértheted a problémát. De mi van akkor, ha egy egyéni feltétel esetén szeretné szüneteltetni a játékot? Ezt is megteheted!
Ezhez a Debug.Break() függvényt kell használnod. Csak hívd meg, amikor szüneteltetni akarod a Unity szerkesztődet.
Példa
1
2
2
3
4
5
6
7
8
9
|
UnityEngine használatával;
public class DebugBreakExample : MonoBehaviour {
void OnGUI() {
if (GUILayout.Button(“Pause Now!”)) {
Debug.Break();
}
}
}
|
Ez a példa egy gombot jelenít meg a bal felső sarokban. A gombra kattintva a szerkesztő szünetet tart.
A Debug.Break()-nek van még egy jelentős előnye a kézi szüneteltetéssel és továbblépéssel szemben. Megállíthatja a játékot egy végrehajtási képkocka közepén. Ez azt jelenti, hogy az objektum egy része még várhat az Update() hívásra, a másik része pedig már frissült. Ez igazán hasznos olyan helyzetekben, amikor egy véletlenszerűen megjelenő hibával van dolgod.
Ne aggódj amiatt, hogy Debug.Break() függvényeket hagysz a kódodban. Amikor a játékod felépül, szó szerint nem csinál semmit! 🙂
Fájlok
A szokásoknak megfelelően a példa unitypackage letölthető innen. Csak kattints rá duplán, hogy a tartalmát importáld a Unity projektedbe. Ott találsz egy példa jelenetet és a fenti szkriptet.