Hru můžete z editoru kdykoli pozastavit. Věděli jste ale, že pauzu můžete spustit z kódu na základě nějaké podmínky?“

Pauza při chybě konzole

Existuje možnost konzole s názvem Pauza při chybě. Je-li povolena, pozastaví hru, když dojde k nějaké chybě při běhu. Když je hra pozastavena, můžete snadno prozkoumat, co se děje na vaší scéně, abyste lépe porozuměli problému. Ale co když chcete hru pozastavit na základě vlastní podmínky? I to lze udělat!

Pro to musíte použít funkci Debug.Break(). Stačí ji zavolat, když chcete pozastavit editor Unity.

Příklad

C#

1
2

.

3
4
5
6
7
8
9

pomocí UnityEngine;
public class DebugBreakExample : MonoBehaviour {
void OnGUI() {
if (GUILayout.Button(„Pause Now!“)) {
Debug.Break();
}
}
}

Tento příklad zobrazí tlačítko v levém horním rohu. Po kliknutí na tlačítko se editor pozastaví.

Debug.Break() má oproti ručnímu pozastavení a postupu vpřed ještě jednu podstatnou výhodu. Může pozastavit hru uprostřed snímku provádění. To znamená, že část vašeho objektu může ještě čekat na volání funkce Update() a druhá část již byla aktualizována. To je opravdu užitečné v situacích, kdy řešíte chybu, která se objevuje náhodně.

Nebojte se ponechat v kódu funkci Debug.Break(). Po sestavení hry to doslova nic neudělá! 🙂

Files

Jako obvykle si můžete stáhnout ukázkový balíček unitypackage zde. Stačí na něj poklepat a jeho obsah naimportujete do svého projektu Unity. Najdete v něm příkladovou scénu a skript z výše uvedeného příkladu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.