Урок 1 События, функции

Тип статьи:
Авторская

Урок 1  События, функции.​

Рассмотрим простой скрипт:

Если вы создадите объект, и перейдя на вкладку «КОНТЕНТ» в свойствах этого объекта, нажмете кнопочку «Создать скрипт» — в вашем объекте появиться вот такой вот скрипт:

default
{
state_entry()
  {
  llSay(0, "Hello, Avatar!");
  }

touch_start(integer total_number)
  {
  llSay(0, "Touched.");
  }
}

Он делает две вещи.

1. При запуске этого скрипта один раз появиться сообщение: «Hello, Avatar!»

2. Теперь к вашему объекту можно будет прикоснуться (нажать мышкой). К тому-же при каждом касании объекта, в общем чате будет появляться сообщение: «Touched.»

Давайте рассмотрим теперь подробнее этот базовый скрипт. Строку за строкой. И блок за блоком.

default
{

}

Блок DEFAULT{} — это основной поток. В него в данном скрипте вкладываются все остальные блоки.

Обратите внимание на фигурные скобочки. Все что внутри этих скобочек — считается вложено в этот блок. Он должен присутствовать во всех скриптах, и все события, функции и операторы которые вы напишите, должны быть размещены внутри этого потока. Т.е. внутри фигурных скобочек.

* На самом деле потоков может быть несколько, но сейчас не будем усложнять.

Когда запускается ваш скрипт, будет выполняться только то, что находиться внутри основного потока. Если «поток» слишком абстрактное понятие, можно еще сказать «ОСНОВНОЙ ЦИКЛ ВЫПОЛНЕНИЯ СКРИПТА». Это почти одно и то-же. Для упрощения понимания материала, такое сравнение вполне подойдет. Почему цикл? Потому что выполнение скрипта начинается с открытой фигурной скобки «DEFAULT {» и потом, когда выполнит все что внутри этих скобочек — возвращается от последней закрытой фигурной скобки "}" опять к первой скобке «DEFAULT {». И НАЧИНАЕТ ВЫПОЛНЯТЬ ВСЕ СНАЧАЛА. И так постоянно. Происходит цикл.

В цикле скрипт постоянно «слушает» СОБЫТИЯ.

Когда происходят какие либо действия с объектом или вокруг него, (коснуться объекта, прикоснуться к объекту, написать что-то в общий чат, сесть на объект, и тому подобное) эти действия вызывают СОБЫТИЯ.

Когда происходит такое СОБЫТИЕ (произошло касание объекта, произошло прикосновение к объекту, в общем чате появилась сообщение, кто-то сел на объект и тому подобное), все что внутри фигурных скобочек данного события будет выполняться.

В данном скрипте у нас 2 события.

1 СОБЫТИЕ: «СТАРТ ПРОГРАММЫ (СТАРТ СКРИПТА)». Произошел запуск скрипта.

state_entry()
{

}

2 СОБЫТИЕ: «КАСАНИЕ» Кто-то прикоснулся к объекту (нажал на него мышкой)

touch_start(integer total_number)
{

}

Какие либо конкретные действия которые можно увидеть, услышать, «потрогать»… — Вызываются с помощью функций.

В нашем скрипте только одна функция, которая пишет сообщение в общий чат.

llSay(0, "Hello, Avatar!");

Функция может принимать АРГУМЕНТЫ.

llSay — послать сообщение в канал. Если канал установить как 0 — сообщение будет посылаться в общий чат.

*О каналах поговорим в следующих темах.

Итак llSay принимает 2 аргумента. Номер канала (для общего чата номер канала =0) и Текст сообщения (в виде строки заключенной в кавычки).

т.е. llSay(номер канала, «Сообщение»).

Подведем итоги.

В нашем скрипте есть основной поток или цикл (DEFAULT), в котором обрабатываются два события (state_entry — старт скрипта) и (touch_start — касание).

Когда происходит событие «старт», скрипт пишет сообщение в чат — «Hello, Avatar».

Когда кто-то щелкает мышкой на объекте скрипт пишет сообщение в чат — «Touched».

Нет комментариев. Ваш будет первым!
Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.