Unity: ошибка CS1519: недопустимый токен '=' в объявлении члена класса, структуры или интерфейса, - PullRequest
0 голосов
/ 09 ноября 2019

Я новичок в кодировании, и из того, что я понял, следующий код был написан для совместимости с C # 4.0, а не с текущей версией. Есть еще одна ошибка, которую я не смог уместить в заголовке: Неверный токен ';'в объявлении класса, структуры или интерфейса

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class camera_controller : MonoBehaviour
{

    public GameObject player;
    private Vector3 offset;
    Vector3 offset = transform.position;


    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

    }

    void LateUpdate () 
    {

    transform.position=player.transform.position+offset;

    }

}

Ответы [ 2 ]

0 голосов
/ 09 ноября 2019

Вы должны удалить Vector3 offset = transform.position; и добавить offset = transform.position; в Start() или Awake() и см. Ссылку ниже для получения дополнительной информации. C # не позволяет инициализировать поля, кроме констант, конструкторов и статических полей. transform.position - это нестатическое поле.

Почему я не могу назначить transform.position для объекта Vector3?

0 голосов
/ 09 ноября 2019

Вам необходимо определить тип для переменной.

transform.position - это тип Vector3.

попробуйте это:

Vector3 offset = transform.position;

...