Пазлы для опытных пользователей (Advanced)

Используйте эти пазлы для реализации расширенных возможностей в ваших приложениях, таких как работа в сети, взаимодействие с кодом «ЯваСкрипт», преобразование данных, сохранение/восстановление состояния и многое другое.

Содержание

Перечень пазлов

exec script

Этот пазл выполняет указанный javascript код. Он использует редактор Ace Editor для отображения и редактирования содержимого. Соответствующие сочетания клавиш можно посмотреть здесь: Default Keyboard Shortcuts.

Вы можете использовать следующие встроенные переменные:

Особенности использования встроенных модулей для вкладки "Init" и других вкладок

call external function

Выполняет функцию, указанную в «ЯваСкрипт»-коде приложения. По желанию передает параметры для использования в качестве аргументов функции.

Для того, чтобы добавить функцию в код «ЯваСкрипт», откройте файл приложения .js (например, my_awesome_app.js, расположенный в verge3d/applications/my_awesome_app) любым текстовым редактором. Найдите "prepareExternalInterface" и добавьте свою функцию внутрь этого объявления (между фигурными скобками), чтобы она выглядела следующим образом:

function prepareExternalInterface(app) { app.ExternalInterface.myJSFunction = function(numericArg, textArg) { alert('Got some params from Puzzles: ' + numericArg + ' and ' + textArg); } }

load data

Попытка загрузить данные из указанного места. Пазлы в слоте "once ready do" интерпретируются независимо от того, была ли попытка успешной. Доступ к полученным данным можно получить с помощью пазла loaded data.

send data

Попытка отправить указанные данные с помощью асинхронного POST HTTP запроса. Пазлы в слоте "once ready do" интерпретируются независимо от того, была ли попытка успешной. Если есть какие-либо ответные данные, к ним можно получить доступ через пазл loaded data.

loaded data

Возвращает данные, полученные с помощью пазлов load data или send data.

read JSON

Интерпретирует текст (или «Дата УРИ») как данные «Джейсон», которые обращаются к словарю.

read CSV

Интерпретирует текст (или ссылку «Дата УРИ») как ЦСВ-файл. Возвращает список строк таблицы, причем каждая строка представлена в виде списка значений. Разделитель может быть выбран с помощью выпадающего списка, чтобы соответствовать настройкам экспорта ЦСВ-файла. Значение "От строки" указывает, сколько строк будет пропущено, начиная с верхней.

Доступ к строкам и значениям таблицы осуществляется по их числовым индексам, начиная с 0.

save state

Сохраняет состояние указанных объектов и/или значения переменных, заданных их именами. Объекты клонируются и сохраняются в памяти. Значения переменных извлекаются и сохраняются в памяти для каждого указанного имени переменной.

Если этот пазл вызывается несколько раз, состояния сохраняются в последовательности, чтобы можно было вернуться к любому предыдущему состоянию с помощью пазла undo state.

undo state

Восстанавливает состояние объектов и/или переменных, сохраненных с помощью пазла save state.

Если этот пазл вызывается несколько раз, состояния восстанавливаются из сохраненной последовательности (если таковая имеется), что позволяет вернуться к любому ранее сохраненному состоянию из стека.

all variable names

Возвращает список с именами всех переменных, используемых в пазлах.

variable value by name

Возвращает значение переменной, заданной ее именем. Этот пазл работает аналогично стандартному пазлу значение переменной, но не требует выбора переменной из предопределенного выпадающего меню.

JavaScript object

Возвращает заданный объект «ЯваСкрипт».

С помощью этого пазла можно получить следующие объекты «ЯваСкрипт»:

window
Возвращает объект верхнего уровня window как значение словаря.
arguments
Возвращает список аргументов текущей выполняемой функции. Может использоваться для получения аргументов процедур пазлов или дополнительных аргументов, передаваемых внутренним обратным вызовам пазлов (смотрите ниже).
this
Значение this «ЯваСкрипт».

Параметр arguments можно использовать для получения дополнительных параметров пазла. Например, при использовании пазла when clicked можно получить внутреннее событие «ЯваСкрипт», которое запускает логику пазла, используя первый аргумент обратного вызова, выполняемого за слотом do. В примере ниже мы используем это событие для получения координат X и Y указателя мыши:

Следующие пазлы поддерживают расширенные опции:

wait promise

Дождитесь разрешения или отклонения промиса и верните его значение (или причину отклонения) в пазле promise value.

Этот пазл может потребоваться для получения значения export to gltf и generate normal map. Будучи по своей природе асинхронными, эти пазлы не возвращают разрешенные значения немедленно. Вместо этого они возвращают значения промисов, которые разрешаются в пазлах, используемых в качестве входных данных. В некоторых редких случаях это разрешение не происходит. В этих случаях для разрешения значений промиса следует использовать wait promise.

promise value

Значение разрешенного промиса (в случае разрешенного промиса) или строка ошибки (в случае отклоненного промиса).

connector

Этот пазл позволяет соединять другие пазлы между собой, чтобы их было удобнее перемещать, удалять и использовать в других пазлах. Наиболее заметное применение - объединение пазлов load sound или load video в одну группу для организации предварительной загрузки медиаресурсов в вашем приложении.

Проблемы с пазлами?

Обращайтесь за помощью на наш форум!