BCE0044: ожидается EOF, найден «импорт» - PullRequest
0 голосов
/ 30 августа 2018

Я использую 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;
}

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

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

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

2 . Поскольку Гелий сказал в своем ответе, 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;
}
0 голосов
/ 30 августа 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...