ariadna villavicencio gamarra Ответов: 2

Ошибка: ожидаемый идентификатор


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

public class PlayerController : MonoBehaviour
{
    public float horizontalInput;
    public float speed = 10f;
    public float xRange = 10f;
    public GameObject projectilePrefab;
    

    // Start is called before the first frame update
    void Start()
    {
        
    }
    
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(Keycode.Space))
        {
       
            //launch projectile from player
            Instantiate(projectilePrefab, transform.position, projectilePrefab.transform.rotation);
        }

        if (transform.position.x < -xRange)
        {
            transform.position = new Vector3(-xRange, transform.position.y, transform.position.z);
        }
        if (transform.position.x > xRange)
        {
            transform.position = new Vector3(-xRange, transform.position.y, transform.position.z);
        }


        horizontalInput = Input.GetAxis("Horizontal");

        transform.Translate(Vector3.right * horizontalInput * Time.deltaTime * speed); 
    }
}


Что я уже пробовал:

Я новичок в кодировании, но это основано на учебнике, которому я следую, он предположительно должен работать, если я нажму пробел, но ничего :(. На всякий случай, у меня есть macbook air.

Patrice T

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

F-ES Sitecore

Код ключа.Пробел должен быть кодом ключа.пробел, обратите внимание на заглавную букву "С".

2 Ответов

Рейтинг:
2

OriginalGriff

Если вы новичок в развитии, то не начинайте играть с Unity - это приносит свои собственные проблемы, которые делают вашу жизнь намного сложнее. Просто начните с основ, предпочтительно с курса C# или книги - избегайте учебных пособий YouTube, таких как The plague: это очень плохой способ обучения разработке.

Идея заключается в том, что сначала вы получаете твердые основы и учитесь создавать код, а не слепо набирать его в надежде, что он работает!

В разработке существует два типа ошибок: Ошибки времени компиляции (или "ошибки компиляции") и ошибки времени выполнения (или "ошибки")
Первая версия вообще не позволяет вашему приложению работать, потому что если вы получаете ошибку компиляции, то EXE-файл не генерируется.
Второй может выдавать или не выдавать никаких сообщений об ошибках, но если это произойдет, то только после того, как вы скажете своему приложению запустить его.

Ваша проблема относится к первому типу и предоставит вам много информации. Не только сообщение об ошибке "ожидаемый идентификатор", оно также даст вам имя файла и номер строки в файле. Если вы дважды щелкните сообщение на панели ошибок Visual Studio, то оно приведет вас непосредственно к строке, которая ему не нравится, и поставит красную волнистую линию под ее частями. Это те биты, с которыми у него есть проблема.
Внимательно посмотрите на линию и линию выше - иногда ошибка с предыдущей линией проявляется как ошибка на линии после нее.

Понимаете, что я имею в виду, говоря об изучении основ в первую очередь?

Попробуйте это сделать, и это должно быть достаточно просто исправить - но я не думаю, что это тот код, который вы показываете выше; похоже, у него нет никаких проблем, которые могут вызвать ошибку "ожидаемый идентификатор".


Maciej Los

5ed!

Рейтинг:
1

Maciej Los

Чтобы решить вашу проблему, перейдите по ссылке: Что такое CS1041? – Единство[^]
Это тоже может быть полезно: 5 распространенных ошибок кодирования в C# и Unity и как их решить | научитесь создавать игры[^]