Процедурные пазлы (Procedures)
Процедура (она же функция) - это именованная группа пазлов, которая выполняет определенную задачу. Организуя пазлы в процедуры, вы можете сделать свои сценарии более компактными и удобными для использования.
- Создание процедур
- Вызов процедуры
- Процедуры с возвращаемым значением
- Использование пазла "if return"
- Вызов процедур из «Ява Скрипт»
Создание процедур
Новая процедура может быть создана путем перетаскивания пазла определения процедуры из панели инструментов:
![](files/puzzles/puzzles-procedures-create.jpg)
Созданный процедурный пазл может быть переименован, и заполнен другими пазлами для выполнения какой-либо задачи:
![](files/puzzles/puzzles-procedures-create2.jpg)
Вызов процедуры
Чтобы иметь возможность запустить (вызвать) процедуру, перетащите соответствующий пазл из панели инструментов:
![](files/puzzles/puzzles-procedures-trigger.jpg)
Процедура может быть запущена несколько раз и из нескольких мест сценария Пазлов. Это может позволить повторно использовать пазлы, а не копировать аналогичный набор пазлов несколько раз. Например, анимация может запускаться всякий раз, когда пользователь нажимает на сам объект или кнопку HTML (таким образом обеспечивается дублирование элементов управления).
![](files/puzzles/puzzles-procedures-trigger2.jpg)
Процедура может иметь дополнительные вводные параметры (они же аргументы). Чтобы добавить параметр в процедуру, нажмите на значок шестеренки и перетащите пазл параметров из панели инструментов слева, вставив его в пазл вводных параметров:
![](files/puzzles/puzzles-procedures-inputs.jpg)
Чтобы иметь возможность использовать вводный параметр внутри процедуры, вытащите соответствующий пазл переменной "get", созданный автоматически в "Variables":
![](files/puzzles/puzzles-procedures-inputs2.jpg)
Эта переменная может быть использована в качестве замены фактических данных (например, имен объектов) для выполнения какой-либо задачи.
![](files/puzzles/puzzles-procedures-inputs3.jpg)
При запуске процедуры с помощью вводных параметров укажите данные для каждого триггерного пазла.
![](files/puzzles/puzzles-procedures-trigger-with-inputs.jpg)
Вы можете перейти от триггерного пазла к соответствующему пазлу определения процедуры с помощью меню правой кнопки мыши:
![](files/puzzles/puzzles-procedures-jump.jpg)
Процедуры с возвращаемым значением
Процедура может выдавать своему пользователю вычисленное значение (оно же возвращаемое значение). Чтобы создать такую процедуру, из панели инструментов перетащите вариант процедурного пазла со слотом возврата.
![](files/puzzles/puzzles-procedures-return.jpg)
Использование пазла "if return"
Процедура может вернуть значение при некотором условии до того, как все внутренние пазлы будут обработаны. В этом случае процедура преждевременно прекращает выполнение.
![](files/puzzles/puzzles-procedures-if-return.jpg)
Вызов процедур из «Ява Скрипт»
Чтобы задействовать процедурные пазлы из внешнего кода «Ява Скрипт», используйте диапазон имен v3d.puzzles.procedures:
v3d.puzzles.procedures['myProcedure']();
Проблема с пазлами?
Обращайтесь за помощью на наш форум!