#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