Ошибка возврата «преобразования» в движке Unity

#c# #unity3d #visual-studio-2019

#c# #unity3d #visual-studio-2019

Вопрос:

С использованием Unity 2019.4.8f1 и Visual Studio 2019.

Я изучаю некоторое кодирование на курсе Udemy и создаю сценарий движения камеры для нисходящей RPG, которая движется аналогично оригинальной Legend of Zelda. Я получаю эти две ошибки:

Активы Скрипты CameraMotor.cs(16,25): ошибка CS1061: ‘Transform’ не содержит определения для ‘postition’, и не удалось найти доступный метод расширения ‘postition’, принимающий первый аргумент типа ‘Transform’ (вам не хватает директивы using или ссылки на сборку?)<

Активы Скрипты CameraMotor.cs(30,25): ошибка CS1061: ‘Transform’ не содержит определения для ‘postition’, и не удалось найти доступный метод расширения ‘postition’, принимающий первый аргумент типа ‘Transform’ (вам не хватает директивы using или ссылки на сборку?)<

Сравнивая мой экран с экраном инструктора, я вижу, что термин «Преобразование» не меняет цвет, поэтому мне интересно, не существует ли этот фрагмент кода в том же формате больше в текущей версии Unity (я полагаю, он использует 2017).

Это код, который я использую:

 using System.Collections.Generic;
using UnityEngine;

public class CameraMotor : MonoBehaviour
{
    public Transform lookAt;
    public float boundX = 0.15f;
    public float boundY = 0.05f;
  

Есть предложения по поводу того, что здесь происходит?

Комментарии:

1. Будет проще предоставить справку, если вы добавите части файла, которые вызывают ошибки, в свой вопрос. Я предполагаю, что вы должны использовать экземпляр Transform , а не сам класс.

2. position не postition

3. Это простая опечатка…

Ответ №1:

Итак, теперь, когда вы пытаетесь получить доступ к чему-либо из класса, вам нужно правильно записать это, так что ошибка в том, что вы неправильно написали определение преобразования position , и ваши ошибки показывают, что вы используете postition вместо position , Где бы вы ни хотели получить доступ к свойству любого класса, вам нужно использовать имя переменной, а затем точку, за которой следует имя свойства, поэтому исправление заключается в

Где бы вы ни использовали следующий код:

lookAt.postition

Замените его этим

lootAt.position