Unity - Ръчно създаване и използване на скриптове
Поведението на игровите обекти се контролира от компонентите, които са прикрепени към тях. Въпреки че вградените компоненти на Unity могат да бъдат много гъвкави, скоро ще откриете, че трябва да надхвърлите техните възможности, за да приложите свои собствени функции за игра. Unity ви позволява да създавате свои собствени компоненти с помощта на . Те ви позволяват да задействате събития в играта, да променяте параметрите на компонентите и да отговаряте на въведените от потребителя начини, както желаете.
Unity поддържа три езика за програмиране:
В допълнение към тях, много други езици в семейството .NET могат да се използват с Unity, стига да могат да компилират съвместими DLL файлове - вижте тази страница за подробности.
Изучаването на изкуството на програмирането и използването на тези езици е извън обхвата на това въведение. Въпреки това има много книги, уроци и ресурси за обучение как да програмирате с Unity. Посетете секцията Уроци на нашия уебсайт за повече информация.
Скриптиране
Новият скрипт ще бъде създаден в папката, която сте избрали в панела на проекта. Името на новия скрипт ще бъде маркирано, което ще ви подкани да въведете ново име.
По-добре е да въведете ново име на скрипт веднага след създаването, отколкото да го промените по-късно. Името, което въвеждате, ще се използва за създаване на първоначалния текст в скрипта, както е описано по-долу.
Файлова структура на скрипта
Съдържанието на файла ще изглежда така:
Скриптът взаимодейства с вътрешността на Unity, като създава клас, който наследява от вградения клас, наречен MonoBehaviour. Можете да мислите за клас като за вид план за създаване на нов тип.компонент, който може да бъде прикрепен към обект на игра. Всеки път, когато прикачите компонент на скрипт към обект на игра, се създава нов екземпляр на обекта, както е определено от плана. Името на класа се взема от името, което сте посочили при създаването на файла. Името на класа и името на файла трябва да са еднакви, за да може скриптов компонент да бъде прикачен към обект на игра.
Основните неща, които трябва да се отбележат, са двете функции, дефинирани в класа. ФункциятаUpdate е мястото за поставяне на кода, който ще обработва актуализацията на рамката за обекта на играта. Това може да бъде движение, задействане на действия и реагиране на въвеждане от потребителя, общо взето всичко, което трябва да се обработва с течение на времето в процеса на игра. За да позволите на функцията Update да си свърши работата, често е полезно да инициализирате променливи, да четете свойства и да комуникирате с други обекти на играта, преди да се предприеме каквото и да е действие. ФункциятаСтарт ще бъде извикана от Unity преди началото на играта (т.е. преди първото извикване на функцията за актуализиране) и това е идеалното място за извършване на инициализацията.
Скриптът на UnityScript работи малко по-различно от скрипта на C#:
Тук функциите Start и Update имат същото значение, но класът не е изрично деклариран. Самият скрипт трябва да дефинира класа; то косвено ще произлиза от MonoBehaviour и ще вземе името си от името на файла на скриптирания актив.
Контрол на игрови обекти
Както бе споменато по-рано, скриптът дефинира само чертежа на компонента и по този начин никой от неговия код няма да бъде активиран, докато екземплярът на скрипта не бъде прикрепен към обекта на играта. Можете да прикачите скрипт, като плъзнете актив на скрипт върху обект на игра в панела Йерархия, илипрез прозореца на инспектора на избрания игрови обект. Има и подменю Скриптове под менюто Компонент, което съдържа всички налични скриптове в проекта, включително тези, които сте създали сами. Екземплярът на скрипта изглежда по същия начин като другите компоненти в прозореца на инспектора:-
След като бъде прикачен, скриптът ще започне да се изпълнява, когато натиснете Play и стартирате играта. Можете да проверите това, като добавите следния код към функцията Старт:-