Voit pysäyttää pelin editorista milloin tahansa. Mutta tiesitkö, että voit laukaista tauon koodista jonkin ehdon perusteella?

virhetauko konsolissa

Konsolissa on vaihtoehto nimeltä Error Pause. Kun se on käytössä, se pysäyttää pelin, kun jokin ajovirhe ilmenee. Kun pelisi on pysäytetty, voit helposti tutkia, mitä kohtauksessasi tapahtuu, jotta voit paremmin ymmärtää ongelman. Mutta entä jos haluat pysäyttää pelin mukautetun ehdon perusteella? Sekin onnistuu!

Tätäkin varten sinun on käytettävä Debug.Break()-funktiota. Kutsu sitä vain, kun haluat pysäyttää Unity-editorin.

Esimerkki

C#

1
2
2
3
4
5
6
7
8
9

käyttäen UnityEngine;
public class DebugBreakExample : MonoBehaviour {
void OnGUI() {
if (GUILayout.Button(”Pause Now!”)) {
Debug.Break();
}
}
}

Tämä esimerkki näyttää painikkeen vasemmassa yläkulmassa. Kun painiketta napsautetaan, editori pysähtyy.

Debug.Break():lla on vielä yksi merkittävä etu verrattuna manuaaliseen pysäyttämiseen ja eteenpäin astumiseen. Se voi pysäyttää pelin kesken suorituskehyksen. Tämä tarkoittaa, että osa objektistasi saattaa vielä odottaa Update()-kutsua ja toinen osa on jo päivitetty. Tämä on todella hyödyllistä tilanteissa, joissa käsittelet satunnaisesti ilmestyvää bugia.

Älä huolehdi Debug.Break()-funktioiden jättämisestä koodiisi. Kun pelisi on rakennettu, se ei kirjaimellisesti tee mitään! 🙂

Files

Kuten tavallista, voit ladata esimerkin unitypackagen täältä. Kaksoisnapsauta sitä tuodaksesi sen sisällön Unity-projektiisi. Löydät sieltä esimerkkikohtauksen ja yllä olevan skriptin.

Vastaa

Sähköpostiosoitettasi ei julkaista.