Diskuze: C# Unity null reference exception při použití GameObject
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Který kód ti hází tu výjímku? Start nebo Update?
Nevím, jak je to v unity, ale neumí metoda "Find" hledat jen podle ID, které
je "int"?
Hází to v metodě Update(). Fce Find hledá podle názvu, to mi normálně objekt najde a bez problémů dokáže vypsat i jeho jméno atd.. ale pouze Debug.DrawRay dělá potíže
dělá to to samé i když je kod takto
public Transform bulletSpawn;
void Start()
{
// Tohle je zakomentovane objekt je prirazen pres inspectora
// bulletSpawn = transform.Find("Bullet_spawn");
}
void Update()
{
Debug.DrawRay(bulletSpawn.position,bulletSpawn.forward,Color.yellow);
}
V logu jsou u chyby napsána dvě čísla. Většinou to vypadá takto :
JménoScriptu (22,8) NullReferenceExeption.
To "22" je číslo řádku a "8" je znak na řádku kde se chyba vyskytla.
Poskytnutím těchto údajů by jsi velice pomohl ostatním aby zjistily o co
přesně jde.
Co mně tak z místa napadá jsou pouze obecné domněnky jako třeba :
PS. Ne, nebylo by od věci založit Unity3D fórum, vzhledem k velikosti komunity by to bylo spíše praktické.
Ještě mně napadlo. Přidej tohle do Update() a napiš nám co ti to píše. To také může hodně pomoct.
Debug.Log(bulletSpawn);
Normálně to ten objekt najde.
Vypisuje to:
Bullet_Spawn (UnityEngine.Transform)
UnityEngine.Debug:Log(Object)
Weapon_Controller:Update() (at Assets/Scripts/Weapon_Controller.cs:30)
Hmm... Technicky vzato by to mělo fungovat... Tvůj problém je nanejvýše divný. Pravděpodobně se pokazilo něco v projektu. Zkus vytvořit nový projekt a imortovat naprosto vše. Také je tu možnost že je pokažená třída samotná, třídy jsou uchovávány v .dll souborech, možná pomůže přeinstalovat Unity Editor.
Debug nic nehlásí.
Vyřešeno, aktualizace na Unity 2017.1.1.f1
debug pres VS nema nic hlasit, myslel jsem tim krokovat prres VS
Zobrazeno 11 zpráv z 11.