- Начало
- Блок-Схемы
- Блоки
- Переменные
- Рассказать историю
- Воспроизведение Аудио
- Система разговоров
- Уроки Сообщества
- Теги Текстового Рассказа
- Система Вариаций Текста
- Сохранение и Загрузка
- Советы по Кодированию
- Стандартное Кодирование
- Глоссарий
- Часто Задаваемые Вопросы
- Fungus Lua.
Фундаментальная основа Fungus - Блоки. Они содержат Fungus Команды(Commands) и находятся внутри Блок-Схем.
Проверка свойств Блока
Блоки находятся внутри Блок-Схем. В Блоках хранятся Fungus Команды(Commands). Каждый Блок может содержать 1 или более Команды(Commands):
Для проверки свойств блока сделайте следующее:
При работе с более чем одним блоком важно называть каждый блок осмысленным образом. Чтобы переименовать блок, сделайте следующее:
Для создания нового Блока сделайте следующее:
Примечание - самое подходящее время дать осмысленное имя Блоку сразу после его создания ...
Чтобы удалить Блок из текущей Блок-Схемы, выполните следующие действия:
Блок удален из Блок-Схемы:
Для дублирования (клонирования / создания точной копии) Блока в текущей Блок-Схеме, выполните следующие действия:
Обратите внимание - самое подходящее время дать осмысленное имя Блоку сразу после его дублирования ...
Для перемещения / перестановки блоков в окне Блок-Схемы выполните следующие действия:
Блок-Схему Fungus визуально различают три разных типа Блоков:
1: Блок Событий(Event Block) - синий прямоугольник с закругленными углами
Один из способов, которым Fungus решает, когда начинать выполнение Команд(Commands) внутри Блока, - если Блок определил Execute On Event(Выполнить По Событию). Если в Блоке выбрано любое из возможных событий «Execute On Events» (например, Game Started, Message Received, Sprite Drag Completed, Key Pressed и т. д.), то этот Блок будет отображаться в виде прямоугольника с закругленными синими краями:
Как мы видим, Блок по умолчанию, созданный с каждой новой Блок-Схемой, автоматически определяет Game Started Execute On Event, поэтому этот Блок всегда отображается как Блок Событий.
ПРИМЕЧАНИЕ. Блок с Execute On Event всегда будет отображаться как Блок Событий на Блок-Схеме, независимо от того, содержат ли его команды Меню(Menu) или Вызовы(Calls) для 2 или более Блоков). Другими словами, с точки зрения появления Блок-Схемы, отображение Блока Событий переопределяет отображение Блока Ветвления.
Если Блок не является Блоком событий и его команды включают в себя команды Calls и / или Menu для выполнения команд в 2 или более других Блоках, то в окне Блок-Схемы этот Блок будет отображаться как Блок Ветвления, в виде оранжевого шестиугольника.
Команда Call говорит Fungus пойти и начать выполнять команды в именованном Блоке. Есть несколько способов сделать это, мы можем сказать Fungus полностью остановить выполнение в текущем Блоке и просто передать управление названному Блоку. Мы также можем сказать Fungus пойти и выполнить все команды в названном Блоке, а когда они будут завершены, продолжить выполнение любых оставшихся команд в текущем Блоке. Наконец, и, возможно, самый сложный / изощренный метод, мы можем сказать Fungus, что оба начали выполнять команды в именованном Блоке WHILE, одновременно продолжая выполнять оставшиеся команды в текущем Блоке.
Чтобы передать управление другому Блоку и прекратить выполнение команд в текущем Блоке, выполните следующие действия:
Для проверки свойств блока сделайте следующее:
- (настройка) Создание Блок-Схемы Fungus.
- Нажмите, чтобы выбрать Блок в новой Блок-Схеме. Вы должны увидеть свойства Блока, отображаемые в окне Инспектор(Inspector):
Настройка имени Блока
При работе с более чем одним блоком важно называть каждый блок осмысленным образом. Чтобы переименовать блок, сделайте следующее:
- (настройка) Создайте Блок-Схему Fungus.
- Быбрать Блок в новой Блок-Схеме, нажав на него. Выбранный Блок будет иметь зеленый контур.
- Вы должны увидеть свойства Блока, отображаемые в окне Инспектор(Inspector):
- В окне Инспектор(Inspector) измените текст в Block Name на «Say Hello».
- Теперь вы должны увидеть, что Блок был переименован в окне Блок-Схемы:
- Теперь добавьте подробное описание блока в свойстве «Description» в окне Inspector:
Создание блока
Для создания нового Блока сделайте следующее:
- (настройка) Создайте Блок-Схему Fungus (или просматривайте Блок-Схему вашего текущего проекта).
- Нажмите кнопку «Add New Block» (знак «+») в верхнем левом углу окна Блок-Схемы:
- Новый Блок должен быть добавлен в вашу Блок-Схему (с именем по умолчанию «New Block» или «New Block1/2/3 и т. д.», Чтобы каждое имя было уникальным)
Примечание - самое подходящее время дать осмысленное имя Блоку сразу после его создания ...
Удалить блок
Чтобы удалить Блок из текущей Блок-Схемы, выполните следующие действия:
- (настройка) Создайте Блок-Схему Fungus (или просматривайте Блок-Схему вашего текущего проекта).
- Щелкните правой кнопкой мыши на Блоке, который вы хотите удалить, и выберите в меню:
Delete
:
Блок удален из Блок-Схемы:
Дублировать блок
Для дублирования (клонирования / создания точной копии) Блока в текущей Блок-Схеме, выполните следующие действия:
- (настройка) Создайте Блок-Схему Fungus (или просматривайте Блок-Схему вашего текущего проекта).
- Щелкните правой кнопкой мыши по Блоку, который вы хотите дублировать, и выберите меню:
Duplicate
:
- Копия Блока теперь в Блок-Схему (с добавлением «(copy)» к имени дубликата):
Обратите внимание - самое подходящее время дать осмысленное имя Блоку сразу после его дублирования ...
Перемещение Блоков
Для перемещения / перестановки блоков в окне Блок-Схемы выполните следующие действия:
- (настройка) Создайте Блок-Схему Fungus (или просматривайте Блок-Схему вашего текущего проекта).
- Переместите Блок, щелкнув левой кнопкой мыши и перетащите его:
- Когда вы отпустите кнопку мыши, Блок останется там:
3 типа блоков
Блок-Схему Fungus визуально различают три разных типа Блоков:
- Блок Событий(Event Block) - синий прямоугольник с закругленными углами (выполнение Блока инициируется событием)
- Блока Ветвления(Branching Block) - оранжевый шестиугольник (передает управление двум или более другим Блокам, а не блоку событий)
- Стандартный блок(Standard Block) - желтый прямоугольник (нет события, передает управление 0 или 1 другим Блокам)
1: Блок Событий(Event Block) - синий прямоугольник с закругленными углами
Один из способов, которым Fungus решает, когда начинать выполнение Команд(Commands) внутри Блока, - если Блок определил Execute On Event(Выполнить По Событию). Если в Блоке выбрано любое из возможных событий «Execute On Events» (например, Game Started, Message Received, Sprite Drag Completed, Key Pressed и т. д.), то этот Блок будет отображаться в виде прямоугольника с закругленными синими краями:
Как мы видим, Блок по умолчанию, созданный с каждой новой Блок-Схемой, автоматически определяет Game Started Execute On Event, поэтому этот Блок всегда отображается как Блок Событий.
ПРИМЕЧАНИЕ. Блок с Execute On Event всегда будет отображаться как Блок Событий на Блок-Схеме, независимо от того, содержат ли его команды Меню(Menu) или Вызовы(Calls) для 2 или более Блоков). Другими словами, с точки зрения появления Блок-Схемы, отображение Блока Событий переопределяет отображение Блока Ветвления.
2: Блок Ветвления - оранжевый шестиугольник
Если Блок не является Блоком событий и его команды включают в себя команды Calls и / или Menu для выполнения команд в 2 или более других Блоках, то в окне Блок-Схемы этот Блок будет отображаться как Блок Ветвления, в виде оранжевого шестиугольника.
3: Стандартный блок - желтый прямоугольник
Если блок не является ни Блоком Событий, ни Блоком Ветвления, тогда он является Стандартным Блоком и будет отображаться в виде желтого прямоугольника.Связи между Блоками
Логика всей сцены редко может вместить все в один Блок, поэтому нам нужны способы, чтобы один Блок мог передать управление выполнением другим Блокам. Есть несколько способов сделать это, наиболее распространенным из которых является:- Команда Call
- Команда Menu
Выполнение Команд в другом Блоке с помощью Команды Call
Команда Call говорит Fungus пойти и начать выполнять команды в именованном Блоке. Есть несколько способов сделать это, мы можем сказать Fungus полностью остановить выполнение в текущем Блоке и просто передать управление названному Блоку. Мы также можем сказать Fungus пойти и выполнить все команды в названном Блоке, а когда они будут завершены, продолжить выполнение любых оставшихся команд в текущем Блоке. Наконец, и, возможно, самый сложный / изощренный метод, мы можем сказать Fungus, что оба начали выполнять команды в именованном Блоке WHILE, одновременно продолжая выполнять оставшиеся команды в текущем Блоке.
Чтобы передать управление другому Блоку и прекратить выполнение команд в текущем Блоке, выполните следующие действия:
- (настройка) Если вы еще этого не сделали: создайте новую сцену, добавьте к ней Блок-Схему Fungus и выберите Блок на Блок-схеме.
- Переименуйте этот Блок в «Start».
- Добавьте в Блок «Start» команду «Say» в Story Text «I am in Start».
- Добавьте новый Блок в Блок-схему с именем «Block2».
- Добавьте в Блок "Block2" команду "Say" в Story Text "I am in Block2".
- Добавить в Блок «Start» команду вызова, выбрав в меню: Flow | Call:
- С этой выбранной Командой Call, в окне Инспектор выберите Block2 из списка Блоков для свойства Target Block:
- Примечание. Мы оставим по умолчанию Target Flowchart (None), что означает текущую Блок-схему(Flowchart).
- Примечание. Мы сохраняем значение по умолчанию Stop Mode (Stop), что означает, что выполнение в текущем Блоке (Start) будет остановлено после начала выполнения вызываемого Блока.
- Теперь вы должны увидеть стрелку в окне Блок-схемы, соединяющую Блок «Start» с Блоком «Block2». Это визуально говорит нам, что в Блоке «Start» присутствует команда вызова или меню, которая говорит Fungus выполнять команды в Блоке «Block2»:
Выполнение другого Блока
Давайте воспользуемся приведенной выше командой Say, чтобы задать сложный математический вопрос, и продемонстрируем команду Menu, предложив пользователю выбор «правильных» и «неправильных» ответов. Команды меню передают управление другому Блоку - поэтому нам нужно добавить 2 новых Блока, соответствующие 2 ответам. Сделайте следующее:
- (настройка) Создайте новую сцену, добавьте к ней Блок-Схему Fungus и выберите Блок на Блок-схеме.
- Переименуйте Блок в Блок-Схеме на «Question».
- Создайте команду Say в Story Text, чтобы задать вопрос: «Is 2 + 2?».
- Снимите флажок «Wait For Click» (это так, что мы видим пункты меню сразу после того, как команда Say отобразила вопрос):
- Создайте новый Блок с именем «Correct», содержащий команду Say с текстом «Well done, you are very mathematical!». Нажмите кнопку со знаком плюс в окне Блок-Схемы, чтобы добавить новый Блок, переименуйте его в «Correct» и добавьте команду «Say»:
- Выберите Блок «Question» и добавьте команду Menu, нажав кнопку «Добавить» в Инспекторе, а затем выберите меню:
Narrative | Menu
.
- С помощью новой команды Menu, выделенной (зеленым) в верхней половине окна Инспектора, установите для Text значение «Yes», а для Target Block - новый Блок «Correct»:
- Теперь вы должны увидеть, как «поток» команд может измениться с Блока «hello» на Блок «Correct» в окне Блок-Схемы:
- Добавьте второй новый Блок с именем «Wrong», содержащий команду Say с текстом «Bad luck, perhaps consider a non-mathematical career path...»
- Теперь нам нужно добавить еще одну команду Menu в наш Блок «hello», предлагая пользователю ответ «No» на наш математический вопрос и передавая управление Блоку «Wrong», если они не согласны с тем, что 2 + 2 = 4. Выберите «hello» и добавьте команду Menu. С помощью этой новой команды Menu, выделенной (зеленый) в верхней половине окна Инспектора, установите для Text значение «No», а для Target Block - новый Блок «Wrong».
- Теперь вы должны увидеть в окне Блок-Схеме, как Блок «hello» может передать управление Блоку «Correct» или Блоку «Wrong» - в зависимости от того, какой ответ меню выбирает пользователь.
- Запустите сцену, и вы должны увидеть вопрос Say в нижней части экрана, а также две кнопки меню «Yes» и «No» в центре экрана. Нажатие «Yes» затем запускает команду Блока «Correct», а нажатие «No» запускает команды Блока «Wrong»:
Подсветка Соединений
В окне Инспектора, если вы выберете команду «Call» или «Menu» (выполнение команд в другом Блоке той же Блок-Схеме), вы увидите стрелку между двумя Блоками, выделенную зеленым цветом:
Настройки Обработчика Событий
События - это один из способов объявить, когда вы хотите начать выполнение команд в Блоке. Типичные события включают в себя:
- Game Started
- Flowchart enabled
- Message Received
- Нажатие Клавиш (вверх / вниз / повтор)
- Клик на Спрайте / Взаимодействия Перетаскиванием
Самым распространенным событием, используемым для определения того, когда Блок должен начать выполнение, является, конечно, событие Game Started. Каждая новая Блок-схема автоматически начинается с одного пустого Блока, который определен для Старта Игры(Game Started):
Чтобы изменить Событие(Event), определенное для Блока, или назначить событие для Блока, у которого None, сделайте следующее:
- Выберите Блок в окне Блок-Схемы.
- В окне Инспектор для свойства Execute On Event выберите во всплывающем меню нужное событие:
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.