@beerg_wtf

Присутствует детский косяк со скриптом, поможете?

Здравствуйте, присутствует косяк со скриптом, но не могу понять, в чём дело (Так как новичок в этом деле).
Прошу вашей помощи, желательно с объяснением ошибки.

Ошибка:
MissingReferenceException: The object of type 'Object' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
UnityEditor.Editor.IsEnabled () (at C:/buildslave/unity/build/Editor/Mono/Inspector/Editor.cs:589)
UnityEditor.InspectorWindow.DrawEditor (UnityEditor.Editor editor, Int32 editorIndex, Boolean rebuildOptimizedGUIBlock, System.Boolean& showImportedObjectBarNext, UnityEngine.Rect& importedObjectBarRect) (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1151)
UnityEditor.InspectorWindow.DrawEditors (UnityEditor.Editor[] editors) (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1028)
UnityEditor.InspectorWindow.OnGUI () (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:352)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)

А вот сам скрипт:
using UnityEngine;
using System.Collections.Generic;

public class PlayerScript : MonoBehaviour {

	//Изменение скорости перемещения героя
	public float playerSpeed = 2.0f;

	//Текущая скорость перемещения
	private float currentSpeed = 0.0f;

	//Создание переменных для кнопок
	public List<KeyCode> upButton;
	public List<KeyCode> downButton;
	public List<KeyCode> leftButton;
	public List<KeyCode> rightButton;

	//Сохранение последнего перемещения
	private Vector3 lastMovement = Vector3();
	
	// Start/Update - Названия функций
	void Update () {

	}
}

P.S. ( За тоже самое скопированное, прошу прощения)
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Вместо
private Vector3 lastMovement = Vector3();
должно быть
private Vector3 lastMovement = new Vector3();
Использовать пустой конструктор для lastMovement не обязательно, Vector3 это структура и дефолтное значение при инициализации у неё будет тем же самым нулём.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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