Хочу попробовать немного изучить unity, и столкнулся с проблемой в понимании некоторых базовых принципах работы.
Вот хотел бы пообщаться с опытными юнитиводами, дабы прояснить для себя некоторые практические моменты логики.
Работал с фазером, поэтому приведу практический пример работы с ним. Да и яваскрипт крайне хорош в плане чтения синтаксиса для c# программистов.
В фазере есть некая условная сцена, внутри которой создаются условные обьекты.
У сцены есть методы, они аналогичны методам в классах обьектов unity (Start,update...)
У фазера же вмето Start
preload
create
update - аналогичен
Допустим я хочу обьявить обработчик каких то там тапов/кликов.
Сначала я создам сцену
Синтаксис:
Используется javascript
myScene...... = function(){
....
}
....
}
Теперь у меня есть сцена со всякими там встроенными методами.
Допустим я хочу вывести координату обьекта на сцене. Простая функция, которая принмиает на вход некий условный игровой обьект и выводит в консоль его свойства.
Синтаксис:
Используется javascript
function getXY(obj){
console.log(obj.x+" - "+obj.y);
}
console.log(obj.x+" - "+obj.y);
}
Теперь для обьекта myScene я просто обьявляю глобальный обработчик событий (input).
Синтаксис:
Используется javascript
myScene.input.on("gameobjectdown", function(pointer, obj){
getXY(obj);
}
getXY(obj);
}
Теперь в pointer у меня множество данных, в числе которых позиция игрового мира, учитывающая scale, offset, rotate.... и много чего еще
А в obj - игровой обьект со всеми его свойствами, если именно по нему произведен клик.
Я попробовал воспроизвести подобное в unity, и сразу же столкнулся с непониманием его принципов.
Можно ли обьявить какой то глобальный обработчик вне игрового обьекта?
Допустим нельзя.
Можно ли создавать игровой обьект из скрипта, с уже присвоенным ему обработчиком?
Я правда пока не понимаю, как я могу создавать какой либо обьект, если до этого, я должен какому либо обьекту присвоить компонент, который умеет создавать игровые обьекты. Мне на камеру их вешать что ли, не понимаю.
Разьясните пожалуйста.
Заранее спасибо откликнувшимся!