BCE0044: ожидается EOF, найден «импорт»

Я использую Javascript-версию скрипта Unity ScoreManager, и когда я впервые импортировал его в свой проект Unity, у меня возникла ошибка, сообщающая мне

ошибка BCE0018 имя «текст» не обозначает допустимый тип («не найден»). Возможно, вы имели в виду «NUnit.Framework.Internal.Test»?

У кого-то была такая же проблема, и в ответах было предложено попробовать добавить import UnityEngine.UI;. Я попробовал это, и это исправило ошибку BCE0018, но теперь появилась совершенно новая ошибка, и я не знаю, как ее исправить. Новая ошибка

BCE0044 ожидает EOF, обнаружен импорт.

Я провел некоторое исследование, и у других людей были похожие проблемы с } и var, но я еще не видел ни одной проблемы с импортом. Мысли? Вот копия полного сценария, с которым я работаю.

pragma strict


static var score : int; // The player's score.

private var text : Text;       // Reference to the Text component.

import UnityEngine.UI;

function Awake ()
{
    // Set up the reference.
    text = GetComponent (Text);

    // Reset the score.
    score = 0;
}

function Update ()
{
    // Set the displayed text to be the word "Score" followed by the score value.
    text.text = "Score: " + score;
}

person MadDog Gaming    schedule 29.08.2018    source источник


Ответы (2)


Импорт пространств имен должен выполняться в самом верху вашего файла, поэтому переместите import UnityEngine.UI; после #pragma strict.

person Hellium    schedule 29.08.2018

В вашем коде есть две проблемы:

1.pragma strict должно быть #pragma strict . Обратите внимание на «#» перед ним.

2. Как сказал в своем ответе Hellium, import UnityEngine.UI; расположен не в том месте. Это должно быть размещено сразу после #pragma strict и перед остальной частью кода.

Обратите внимание, что вам следует прекратить использование Javascript/Unityscript. Он был прекращен в Unity, и вскоре будет удален и компилятор. Вы уже должны использовать C#.

Вот ваш новый код:

#pragma strict

import UnityEngine.UI;

static var score : int; // The player's score.

private var text : Text;       // Reference to the Text component.

function Awake ()
{
    // Set up the reference.
    text = GetComponent (Text);

    // Reset the score.
    score = 0;
}


function Update ()
{
    // Set the displayed text to be the word "Score" followed by the score value.
    text.text = "Score: " + score;
}
person Programmer    schedule 29.08.2018