Кто знает, как решить ошибку? NullReferenceException: Object reference not set to

an instance of an object
DriftManager.ManageUI () (at Assets/Drift Physics/DriftManager.cs:111)
DriftManager.Update () (at Assets/Drift Physics/DriftManager.cs:44)

12 ответов

7 просмотров

Что то, что ты пытаешься вызвать равно null

Дрифт менеджер глянь Там ссылок не хватает

В классе DriftManager в Update в строке 44 вызывается ManageUI, где в строке 111 используется поле с нулевым значением. Загляни туда и сделай так, чтобы значение определялось до использования.

Камиль-Сайфин Автор вопроса
Камиль Сайфин
Как это сделать?

Загляни в ManageUI 111 строку.

Камиль Сайфин
И

И посмотри что там вызывается.

Камиль-Сайфин Автор вопроса
Алексей
И посмотри что там вызывается.

currentScoreText.text=currentScore.ToString("###,###,000")

Камиль Сайфин
currentScoreText.text=currentScore.ToString("###,#...

Значит currentScoreText = null в момент вызова. Когда ему назначается экземпляр, в старте?

Камиль-Сайфин Автор вопроса
Алексей
Значит currentScoreText = null в момент вызова. Ко...

using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; using System.Threading.Tasks; public class DriftManager : MonoBehaviour { public Rigidbody playerRB; public TMP_Text totalScoreText; public TMP_Text currentScoreText; public TMP_Text factorText; public TMP_Text driftAngleText; private float speed=0; private float driftAngle=0; private float driftFactor=1; private float currentScore; private float totalScore; private bool isDrifting = false; public float minimumSpeed = 5; public float minimumAngle = 10; public float driftingDelay = 0.2f; public GameObject driftingObject; public Color normalDriftColor; public Color nearStopColor; public Color driftEndedColor; private IEnumerator stopDriftingCoroutine = null; // Start is called before the first frame update void Start() { driftingObject.SetActive(false); } // Update is called once per frame void Update() { ManageDrift(); ManageUI(); } void ManageDrift() { speed = playerRB.velocity.magnitude; driftAngle = Vector3.Angle(playerRB.transform.forward, (playerRB.velocity + playerRB.transform.forward).normalized); if (driftAngle > 120) { driftAngle = 0; } if (driftAngle >= minimumAngle && speed > minimumSpeed) { if(!isDrifting||stopDriftingCoroutine!=null) { StartDrift(); } } else { if (isDrifting && stopDriftingCoroutine == null) { StopDrift(); } } if (isDrifting) { currentScore += Time.deltaTime * driftAngle * driftFactor; driftFactor += Time.deltaTime; driftingObject.SetActive(true); } } async void StartDrift() { if (!isDrifting) { await Task.Delay(Mathf.RoundToInt(1000 * driftingDelay)); driftFactor = 1; } if (stopDriftingCoroutine != null) { StopCoroutine(stopDriftingCoroutine); stopDriftingCoroutine = null; } currentScoreText.color = normalDriftColor; isDrifting = true; } void StopDrift() { stopDriftingCoroutine = StoppingDrift(); StartCoroutine(stopDriftingCoroutine); } private IEnumerator StoppingDrift() { yield return new WaitForSeconds(0.1f); currentScoreText.color = nearStopColor; yield return new WaitForSeconds(driftingDelay * 4f); totalScore += currentScore; isDrifting = false; currentScoreText.color = driftEndedColor; yield return new WaitForSeconds(0.5f); currentScore = 0; driftingObject.SetActive(false); } void ManageUI() { totalScoreText.text = "Total: " + (totalScore).ToString("###,###,000"); factorText.text = driftFactor.ToString("###,###,##0.0")+"X"; currentScoreText.text=currentScore.ToString("###,###,000"); driftAngleText.text=driftAngle.ToString("###,##0") + "°"; } }

Камиль Сайфин
using System.Collections; using System.Collection...

Вместо TMP_Text используй TextMeshProUGUI и определи все переменные в инспекторе.

Камиль-Сайфин Автор вопроса

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет, у меня такой вопрос, заказчику нужно чтобы бот собирал данные о количестве просмотров на определенных постах, уже все перерыл, как то можно реализовать та...
AdmM
3
Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
Приветствую друзья, подскажите сколько в среднем стоит на данный момент создать тг бота который будет как магазин? Показывать ассортименты доставлять заказы и тд? Все по станд...
Eugene
3
привет, а расскажите как бэкапите свой vault raft cluster CE? я немного почитал и понял, что нужно как-то выполнять vault operator raft snapshot save backup.snapshot подсовыва...
[DBST] Dmitry Knyazev
5
Карта сайта