Как я понял уроков на рус. языке по скриптингу не планируется, и все придется учить самому как это делал Левша. Но все же у нас у молодых Юнистов есть один плюс, это ветераны Юнити, которые уже делают свои проекты! Писать уроки они конечно не будут, так как им есть чем заняться, но вот написать пять скриптов разной сложности и назначения думаю не долго! Ну как поможете нам? От вас потребуется: Написать 2-3 скрипта легких (одно действие, к примеру при нажатии на кнопку активируется анимация) 1-2 скрипта средней сложности (где уже выполняется несколько действий) и 1-2 сложных (где уже переменые и многие другие мозгокипятилки)
(Левша). - Раз уж пошла такая песня, буду потихоньку пополнять шапку информацией по скриптингу:
[b]Переменные. var - это создать переменную. Просто var - публичная переменная, ее значение отображаеться в инспекторе, значение можно менять не открывая скрипта. private var - это собственная переменная скрипта, ее значение можно менять только редактируя скрипт. static var - это самое то, что нам надо, это и есть глобальная переменная, к значению которой можно обратиться из любого скрипта проекта и дистанционно менять ее значение. Обращение к глобальной переменной выглядет так: (Имя скрипта с большой буквы, точка, имя переменной с маленькой буквы) = (значение). Например: Player.hitPoint = 50; (точка с запятой всегда должна закрывать строку действия.
Немного о функциях. Функция вообще это участок кода который выполняеться програмно. Все наши условия и действия размещаються в коде в границах функции. Есть несколько простых типов функций: function Update(), function FixedUpdate(), function LateUpdate() - это функции которые выполняються постоянно и циклично каждый кадр (function FixedUpdate() - выполняется каждый Fixed Timestep, то есть не каждый кадр, а через определенный промежуток времени, который мы можем изменить в настройках физики. По умолчанию равен двум миллисекундам. Советуется использовать эту функцию для просчета физических действий - прим. Вовы). Не зависимо от нашего желания . Как следствие это самые грузящие двиг функции, поэтому их нужно использовать минимально по мере необходимости. Интересно что скорость выполнения этих функций зависит от частоты кадров (FPS), поэтому такие действия как пауза или таймер в них работать не будут. Эти функции удобны например для отслеживания ввода клавиш с клавиатуры или остоянного контроля каких либо изменений значений переменных.
Переменные можно создавать (по умному - декларировать) как внутри функции, так и из-вне. В первом случае работать они будут только внутри той функции, в которой созданы. Поэтому лучше писать их из-вне, в самом начале скрипта, а не внутри функций. И при этом сразу нужно указывать их тип (так скрипты быстрее выполняются) - можно написать тип через двоеточие: var digits : int;
а можно указать значение через уравнение, и тогда Юнити по значению поймет, что это за тип: var digits = 15;
Типов есть множество - любой встроенный класс (Runtime Classes в справке) можно задавать как тип, но основных и наиболее используемых есть 4: 1. String (c большой буквы) - строка, любой текст, при декларировании значение берется в кавычки:
var bukvi = "qwerty";
то же, что и: var bukvi : String; bukvi = "qwerty";
2.int - целое число var digits = 15;
3.float - число с запятой var digits = 1.5;
3.boolean - переключатель "правда-ложь", соответственно значения могут быть true и false var west = false;
Никогда не называйте переменные именами типов, а то скрипт не будет правильно работать! (Вова) Продолжение следует...
Мой блог: http://terv-blog.blogspot.ru/
TeRV, А зачем? Есть же примеры в комплекте. Поверь мне который помыкался в свое время, делай так бери готовый скрипт и с помощью мануала потихоньку в нем разберись, переделай под себя и постепенно все поймешь, и пиши сам, после 5-й попытки что нибудь да заработает. Мануал хоть и англ, но понятный, просто не спеши. А будут конкр. вопросы задавай, поможем. Уроки по этому делу написать довольно сложно, было бы лучше еслиб кто то, кто в англ шарит, начал бы постепенно скрипт референсе переводить. Ну кое какие азы, основной синтаксис я попытаюсь обьяснить, как время появиться сделаю короткий урок. X.cor.R (Prologue)
Да и еще, на учебники по веб яваскрипту лучше время не трать, ничего не даст.
Эт уже знаю
Quote (Левша)
Да стандартный.
Покопался нашел где учат, вроде действительно понятно
Немного начал понимать (хотя еще до само написания надо еще копать) Как я понял функция var - задает эээ как сказать... в общем штуку куда можно вписывать произвольное число и настраивать значение скрипта ( к примеру скорость) через нее (надеюсь хоть кто то поймёт что я написал )
Бум учить разбираться дальше
Добавлено (27.06.2010, 20:52) --------------------------------------------- Не, кажись я все же глупее тебя, не получается вникнуть... примерно тока понимаю... хотя я еще только начал, потом еще попробую
Порылся в стандартных мануалах Unity3d и нашел манул который называется scripting manual вот там все вроде идет по ступеням, и пока все ясно
Добавлено (28.06.2010, 12:17) --------------------------------------------- Так написал что то подобие скрипта! Хоть и с помощь манула функции написал но совместить две сразу додумался сам
Если прицепить этот скрипт Spotlight то он начнет подниматься вверх и одновременно расширять дальность освещения!
p.s. Чую если буду писать о таких мелких подвигах то меня сочтут флудером
Добавлено (28.06.2010, 18:45) --------------------------------------------- Блин! Всё встал полностью, вообще нечего не могу понять, что, куда, зачем? В общем не дано мне понять
var - это создать переменную. Просто var - публичная переменная, ее значение отображаеться в инспекторе, значение можно менять не открывая скрипта. private var - это собственная переменная скрипта, ее значение можно менять только редактируя скрипт. static var - это самое то, что нам надо, это и есть глобальная переменная, к значению которой можно обратиться из любого скрипта проекта и дистанционно менять ее значение. Обращение к глобальной переменной выглядет так: (Имя скрипта с большой буквы, точка, имя переменной с маленькой буквы) = (значение). Например: Player.hitPoint = 50; (точка с запятой всегда должна закрывать строку действия.
ха-ха, убило описание... Очень жестоко Сорри за офф-топ. Думаю, все же лучше почитать любую брошюрку по Java, все станет понятно. То, что щас весит в шапке - это основы любого ЯП, который программирует объектно-ориентированно. Просто это так интересно описано. Пожалуй, если именно в таком духе будет продолжаться пополнение шапки, то, думаю, мы получим самый простой и абсолютно полностью понятный мануал по программированию для тех, кто не слыхал даже слова Паскаль. Да, это веснло и здорово
Объясните мне, я вставляю этот скрипт function Update() { light.range += 1.0 * Time.deltaTime; transform.Translate(0 , 0 , -0.5 * Time.deltaTime);
} в Юнити, но когда я его перетаскиваю на объект, то на окне сцены появляется значок, что эта операция не возможна, хотя когда я делаю такую операцию со стандартными скриптами, всё работает нормально. Может быть я как-то неправильно назначаю скрипты или таким значком Юнити показывает, что скрипт составлен не правильно?
Добавлено (12.10.2010, 16:18) --------------------------------------------- При принт скрине курсор не отбражется. Когда я перетаскиваю из окна Project скрипт на сцену, то отображается курсор с плюсиком, а когда я перетаскиваю этот скрипт или любой другой скопированный, то появляется круг внутри перечёркнутый. А когда я заменяю скрипт существующий, то в окне доступных скринах скрипт не отображается, отображаются только стандартные.
Я знаю, просто когда просто так написал. Значок появляется сразу на сцене, а на объект просто не добавляет. Всё-таки я думаю, что скрипт не работает, поэтому юнити его не воспринимает.
Добавлено (12.10.2010, 18:36) --------------------------------------------- Всё, понял прикол. Кто-то мне писал, что скрипты в юнити можно писать через блокнот, не знаю так это или нет, но лучше писать скрипты в самом юнити.
Всё... Голова пухнет от токого количества информации по unityscript. Я то думал, что всё будет не так запущено. Уже почти неделю изучаю, а толку мало. Что-то узнаю, что-то забываю.В интернете если что и есть, то на английском. На этом форуме тоже разбросаны уроки по углам. Весь вечер ищу комманду, чтоб вытащить Prefab из Project на сцену. Так и не нашёл. Может я не так начал изучать unityscript? Мосоветуйте мне что нибудь, пожалуйста. Блог.