2010-10-27 6 views
3

Я родом из других языков программирования, и я новичок в Unityscript. Я пытаюсь понять, что делает код Unityscript.Unityscript - что это за декларация?

Я нашел эту линию

var guiTouchPos : Vector2 = touch.position - guiTouchOffset; 

Какие декларации это? Что делает эта линия? Не было бы просто написать

var guiTouchPos = touch.position - guiTouchOffset; 

как я не вижу Vector2 используется в коде?

- это линия, назначающая вычитание для обеих переменных?

спасибо.

+1

Быстрый * Поиск кода Google * [показывает, откуда взялся этот код] (http://google.com/codesearch/p?hl=ru#8PWY2ffFiHI/trunk/Completed%20Project/Assets/Scripts/ Joystick.js & q = var% 20guiTouchPos% 20:% 20Vector2% 20% 3D% 20touch.position% 20guiTouchOffset% 3B & sa = N & cd = 1 & ct = rc & l = 104) –

+1

Я думаю, что это UnitiyScript не ActionScript –

+0

Если вы google 'FindObjectsOfType()' функция, используемая в источнике, вы можете видеть, что это функция Unity. И кажется, что UnityScript также имеет * (ES4 вдохновил) * необязательный статический ввод текста, такой как ActionScript. –

ответ

11

Это не JavaScript, это ActionScript 3 или UnityScript. : указывает объявление типа.

+0

Точно, что я думал .... – st0le

+0

Я думаю, что аналогичная схема замедления была также рассмотрена для стандарта ECMAScript 4, но это усилие было прекращено. –

+0

ActionScript 3 является основой для ecma 4 –

5

Это недопустимый синтаксис в JavaScript, так что написанный, который не может работать.

UPDATE

Синтаксис действует в ActionScript, а часть сразу после двоеточия (Vector2 здесь) указывает тип переменной быть объявленной; он также, по-видимому, действителен и означает то же самое на JavaScript-подобном языке сценариев в Unity, который, по-видимому, от Chuck's answer, по-видимому, является тем, для чего первоначально был написан код. От what I've just read about Unity's "JavaScript", он несовместим ни с одной версией языка и не должен называться JavaScript.

+0

Downvoter: пожалуйста, объясните. Вопрос теперь был изменен как ActionScript, но в то время, когда я ответил, это было правильно. –

+0

они называют это Javascript ... – SpaceDog

+1

@ Цифровой робот: Да, и это то, против чего я возражаю. Я бы предпочел, чтобы они застряли называть UnityScript. Это похоже на JavaScript, но также делает свое дело (например, анонимные функции), что означает, что оно не соответствует определению JavaScript. –