Unity ошибка cs1519

Помогите исправить ошибку код предоставил и скриншот ошибки тоже и текст ошибки .помогите плиз что нужно сделать максимально разжуйте.

error CS1519: Invalid token ‘,’ in class, struct, or interface member declaration

введите сюда описание изображения
введите сюда описание изображения

vmchar's user avatar

vmchar

4,43118 серебряных знаков25 бронзовых знаков

задан 12 авг 2020 в 8:18

Frend Game Company's user avatar

3

Вы вставили исполняемый код непосредственно в тело класса, так делать нельзя. В классе можно создать метод, в котором будет находится исполняемый код.
Больше информации вы сможете найти в
кратком обзоре языка c#

ответ дан 12 авг 2020 в 8:32

motpfofs's user avatar

motpfofsmotpfofs

1,2742 золотых знака10 серебряных знаков24 бронзовых знака

Чтобы понять в чём ваша проблема, вам надо для начала понять — что такое калсс?

Класс представляет новый тип, который определяется пользователем.


Что может содержать класс?

Класс может содержать в себе следующие члены:

  • Конструкторы
  • Константы
  • Поля
  • Методы;
  • Свойства
  • Операторы
  • Вложенные типы данных
  • Деструкторы

То есть можно делать вывод что в классе не должно быть присваивания, операторы и.т.д.
А в вашем коде вы напрямую написали действия в классе.


П.Н.
Код не буду кидать. Проблема очень лёгкая, разберётесь сами.

ответ дан 12 авг 2020 в 12:25

eccs0103's user avatar

eccs0103eccs0103

2,7042 золотых знака13 серебряных знаков28 бронзовых знаков

1

Ошибки в программировании — неизбежные ситуации, с которыми сталкиваются разработчики на пути создания программного обеспечения. Одной из ошибок, которую часто встречают при работе с игровым движком Unity, является ошибка CS1519. В этой статье мы рассмотрим данную ошибку и предоставим руководство по ее исправлению, чтобы помочь вам улучшить свои навыки отладки кода.

Ошибка CS1519 в Unity

Ошибка CS1519 в Unity — это ошибка компиляции, которая возникает, когда в коде отсутствует или содержит синтаксическую ошибку. Более конкретно, эта ошибка возникает в случаях, когда открывающая или закрывающая фигурная скобка, круглая скобка, квадратная скобка или угловая скобка отсутствует или используется неправильно.

Наиболее распространенные сценарии, в которых может возникнуть данная ошибка:

  1. Неправильное расположение фигурных скобок, в том числе их отсутствие.
  2. Неправильное использование круглых, квадратных или угловых скобок.
  3. Неправильное количество или порядок знаков пунктуации, таких как точки с запятой и запятые.

Руководство по исправлению ошибки CS1519

Для исправления ошибки CS1519 вам потребуется изучить свой код, чтобы выяснить причину проблемы. Вот несколько шагов, которые помогут вам решить данную ошибку:

  1. Анализировать ошибку: Внимательно прочитайте сообщение ошибки, чтобы понять, на какой строке и в какой части кода возникает ошибка. Это поможет вам установить связь между ошибочным кодом и фактической проблемой.

  2. Проверить скобки: Убедитесь, что вы правильно использовали скобки в своем коде. Открывающие и закрывающие фигурные скобки, круглые скобки, квадратные скобки и угловые скобки должны быть парными и правильно расположены. Не забывайте закрывать каждую открытую скобку.

  3. Проверить форматирование: Удостоверьтесь, что вы правильно форматируете свой код. Отсутствие точек с запятой, знаков препинания или чрезмерное их использование может привести к синтаксическим ошибкам.

  4. Проверить орфографию: Обратите внимание на опечатки или неправильное написание идентификаторов, таких как переменные, функции или классы. Это также может быть причиной ошибки CS1519.

  5. Использовать отладчик: Если вы все еще не можете найти ошибку, попробуйте использовать инструменты отладки, предоставляемые Unity. Отладчик поможет вам определить, какая именно строка кода вызывает ошибку, и выявить причину ее возникновения.

  6. Проверить документацию: Иногда ошибка CS1519 может возникнуть из-за неправильного использования функций или методов Unity. В этом случае полезно проверить официальную документацию Unity или сообщество разработчиков для получения рекомендаций и примеров кода.

  7. Использовать сообщества разработчиков: Если вы все еще испытываете трудности с исправлением ошибки CS1519, попробуйте обратиться за помощью к сообществам разработчиков Unity. Форумы, группы в социальных сетях и чаты разработчиков могут предоставить вам ценные советы и решения.

Важно помнить, что исправление ошибок — это не только процесс поиска и решения проблемы, но и возможность улучшить свои навыки программирования. Постепенно вы будете совершенствоваться в отладке кода и избегать подобных ошибок.

Заключение

Ошибки ко всему программному обеспечению неизбежны, и Unity не является исключением. Ошибка CS1519 является одной из распространенных ошибок, с которой сталкиваются разработчики Unity. Однако, если вы следуете этому руководству и внимательно изучаете свой код, вы сможете быстро исправить ошибку CS1519 и улучшить свои навыки отладки кода. Важно помнить, что отладка — это важный этап процесса разработки, который помогает создавать качественное программное обеспечение.

Skip to content

The script in the video originally had a plethora of errors, and I’ve tried my best to fix the code and reduce the errors to as few as possible

The errors in my current script are:
Assets\PlayerMotor.cs(9,14): error CS1519: Invalid token ‘=’ in class, struct, or interface member declaration

Assets\PlayerMotor.cs(9,32): error CS1001: Identifier expected

My script is:

using UnityEngine;

[RequireComponent(typeof(Rigidbody))]

public class PlayerMotor : MonoBehaviour
{
    
    private Vector3 velocity;
    velocity = new Vector3(zero);

    private Rigidbody rb;

    void Start() 
    {

        rb = GetComponent<Rigidbody>();

    }

    //Gets a movement vector
    public void Move (Vector3 _velocity) 
    {

        velocity = _velocity;
        

    }

    //Run every physics iteration
    void FixedUpdate ()
    {

        PerformMovement();

    }

    //Perfrom movement based on velocity variable
    void PerformMovement() 
    {

        if (velocity != Vector3.zero){
            rb.MovePosition(rb.position + velocity * Time.fixedDeltaTime);
        }

    }
}

>Solution :

  1. You can’t just write code inside class body like: velocity = new Vector3(zero);. What you can do, and what probably made you thought you could do that, is to initialize the variable at declaration: private Vector3 velocity = new Vector3(zero); Still, this has more issues.

  2. Vector3 doesn’t have a constructor, that accepts only one parameter.

  3. Even if it did, you would have to declare Vector3 zero as a static variable.

  4. All in all, just use Vector3.zero where you need, there’s no point in declaring it yourself.

HELP !! error cs1519 invalid token ‘= ‘ in class struct or interface member declaration

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class BoatController : MonoBehaviour

{

CharacterController cc;

FirstPersonController fps;

GameObject player;

Transform defaultPlayerTransform;

bool isDriving =false;

void Start()

{

cc = GameObject.FindObjectOfType<CharacterController>();

fps = GameObject.FindObjectOfType<FirstPersonController>();

player = fps.GameObject;

defaultPlayerTransform = player.transform.parent;

}

bool = IsPlayerCloseToBoat()

{

return Vector3.Distance(gameObject.transform.position,

player.transform.position)<1;

}

void SetDriving(bool isDriving)

{

this.isDriving = isDriving;

fps.enabled = !isDriving;

cc.enabled = !isDriving;

if (isDriving)

player.transform.parent = gameObject.transform;

else

player.transform.parent = defaultPlayerTransform;

}

void Update()

{

if (Input.GetKeyDown(KeyCode.E) && IsPlayerCloseToBoat())

SetDriving(!isDriving);

}

}

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class mainMENU : MonoBehaviour
{
    [SerializeField] int money;
    public Text moneyText;
    public void ButtonClick();
    public bool isMulti = false;
    {
        money++;
    }

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

        moneyText.text = "вы погладили леона: " + money.ToString() + " раз";
    }
    public void BuyMulti()
    {
        if (money >= 100 && isMulti == false)
        {
            isMulti = true;
            money -= 100;
            PlayerPrefs.SetInt("Money",money);
            PlayerPrefs.SetInt("isMulti",isMulti ? 1 : 0);
        }
    }
    if (isMulti == true)
    {
        money += 1000;
    }
}

Выдает такую ошибку:

61a5508d8936d451934856.png


  • Вопрос задан

  • 199 просмотров

Пригласить эксперта

У тебя скобки криво стоят.
А конкретно у тебя if снаружи метода — скорее всего лишняя закрывающая скобка.

Если нажмёшь кнопку «format document», то даже можно будет визуально увидеть, в каком месте всё ломается


  • Показать ещё
    Загружается…

21 сент. 2023, в 20:54

10000 руб./за проект

21 сент. 2023, в 20:40

20000 руб./за проект

21 сент. 2023, в 19:28

10000 руб./за проект

Минуточку внимания

Понравилась статья? Поделить с друзьями:
  • Unity ошибка cs1003
  • Unity ошибка cs0246
  • Unity ошибка cs0103
  • Unity player dll ошибка что делать
  • Unity выдает ошибку при запуске