Итак, я пытался инициализировать переменные и помещать несколько глобальных переменных в свой Unity-скрипт, но когда я запускаю код, он говорит, что x, y и z являются неизвестными идентификаторами. Я пытался найти ответ на этот вопрос:Почему глобальная переменная (внутри функции) не идентифицирована?
function Awake() {
x = 0; //Unity doesn't work with commas
y = 0;
z = 0;
}
function Update() {
if (Input.GetTouch) {
x = x-1;
}
Transform.position = Vector3(x,y,z);
}
Дело с вводом переменных вне функции является то, что они будут повторяться и действовать в качестве обновления.
Я также новичок в Unity и JavaScript.
Вы уверены, что 'Awake' вызывается перед обновлением? В противном случае x, y, z не будут определены. –
в вашем случае ... 'x, y, z' не являются глобальными переменными. Это локальные переменные функции 'Awake'. Если вы хотите сделать его глобальным, возьмите его за пределы всех функций. – mestarted
@mestarted это неверно. При объявлении + инициализации переменной без ключевого слова 'var' или' let' для ES6 + переменная автоматически присоединяется к глобальному пространству имен ('window' в браузерах,' global' в node.js) –