Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Unity Script.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
57.72 Кб
Скачать

1. Назначение ссылочных типов переменных при помощи инспектора

Вы можете назначить переменные любого типа, в вашем скрипте, для того чтобы в дальнейшем, вы могли использовать любой объект в вашем скрипте.

//Перемещение объекта с использованием переменной Target

var target : Transform;

function Update(){

target.Translate(0,1,0);

}

Вы также можете выставить ссылочный тип на другие объекты инспектора. Ниже вы можете видеть пример скрипта, имеющего ссылочный тип под любой сторонний JS скрипт.

//Устанавливаем FooDoSomething на переменную Target принемаемую в инспекторе

var target : OtherScript;

function Update(){

//Устанавливаем значение переменной Foo в ссылочный тип переменной Target

target.foo = 2;

target.DoSomething(“Hello”);

}

2. Расположение объектов в окне иерархии

Вы можете находить дочерние и родительские объекты через компонент Transform:

//Найти дочерний объект “Hand”

transform.Find(“Hand”).Translate(0,1,0);

Как только вы нашли нужный вам объект, применив компонент Transform, вы можете использовать GetComponent, чтобы найти компоненты данного объекта.

//Найти дочерний объект под названием “Hand”

//В компоненте OtherScript назначенный на этот объект, меняем значение переменной Foo на 2

.transform.Find(“Hand”).GetComponent(OtherScript).foo = 2;

.transform.Find(“Hand”).GetComponent(OtherScript).DoSomething(“Hello”);

.transform.Find(“Hand”).rigidbody.AddForce(0,10,0);

Вы можете использовать цикл для всех дочерних объектов:

//Переместить все дочерние объекты на 10 единиц вверх

for ( var child : Transform in transform) {

child.Translate(0, 10, 0);

}

3. Имена и теги

Вы можете искать игровые объекты с определенными тегами использованием GameObject.FindWithTag и GameObject.FindGameObjectsWithTag . Используйте GameObject.Find для поиска любого объекта по имени.

function Start () {

// По имени

var go = GameObject.Find ( "SomeGuy" );

go.transform.Translate(0, 1, 0);

// По тегу

var player = GameObject.FindWithTag ( "Player" );

player.transform.Translate(0, 1, 0);

}

Вы также можете использовать и GetComponent для того чтобы найти какие-либо компоненты назначенные на найденный объект:

function Start () {

// По имени

var go = GameObject.Find ( "SomeGuy" );

go.GetComponent(OtherScript).DoSomething();

// По тегу

var player = GameObject.FindWithTag ( "Player" );

player.GetComponent(OtherScript).DoSomething();

}

4. Принятие в качестве параметра

Некоторые сообщения, содержат подробную информацию об события. Например триггер задействуется после того как какой-либо объект пересечёт колайдер на который назначен этот компонент.

Например:

function OnTriggerStay ( other : Collider ) {

if (other.rigidbody)

other.rigidbody.AddForce(0, 2, 0);

}

Или мы можем добраться до любого компонента:

function OnTriggerStay ( other : Collider ) {

/ / Если есть другие коллайдеры OtherScript задействуется

/ / Вызываем DoSomething в нем.

if (other.GetComponent(OtherScript))

other.GetComponent(OtherScript).DoSomething();

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]