Библиотеки пазлов — Софт Эйт Софт
Description: Использование библиотеки блоков визуального программирования Вердж3Д.

# Библиотеки пазлов

Библиотека — это постоянное хранилище коллекций пазлов для повторного использования в проектах.

## Содержание

- Введение
- Добавление записей
- Использование записей
- Переименование записей
- Удаление записей
- Резервное копирование
- Перечень групп пазлов системной библиотеки
  - Hovered Cursor
  - Context Menu
  - Detect Pressed/Released
  - Keyboard Controls
  - Performance Tweaks
  - Setup Fullscreen iFrame
  - Sound iOS Workaround
  - Alert Message
  - Inquiry Form
  - VR Controls

#

## Введение

В «Вердж3Д» есть две библиотеки пазлов:

- Системная библиотека — хранится в файле library.xml в папке puzzles дистрибутива «Вердж3Д». Эта библиотека входит в состав «Вердж3Д» и доступна только для чтения. Подробная документация на эту библиотеку приведена ниже.
- Библиотека пользователя — хранится в файле my_library.xml в папке с приложениями. Вы можете использовать эту библиотеку для добавления своих собственных пазлов.

#

## Добавление записей

Вы можете добавить группу пазлов в библиотеку пользователя, щелкнув на ней правой кнопкой мыши и выбрав опцию Save N Puzzles to Library. В модальном окне введите название группы так, как оно будет отображаться в списке записей библиотеки. Обновите список записей, перезагрузив страницу с редактором пазлов, чтобы обновить этот список.

#

## Использование записей

Сохраненную группу пазлов можно извлечь из библиотеки, перетащив ее на рабочую область.

#

## Переименование записей

В «Вердж3Д» переименование записей библиотеки пазлов пока не предусмотрено. Однако вы можете легко переименовать запись, отредактировав файл my_library.xml (в двух местах).

После переименования имя записи вашей библиотеки будет обновлено после обновления редактора.

#

## Удаление записей

Запись можно удалить из библиотеки пользователя, нажав на кнопку ❌.

#

## Резервное копирование

Каждый раз, когда вы сохраняете или удаляете записи, ранее сохраненный файл my_library.xml копируется в папку library_backup с меткой времени, добавленной к имени файла.

Это позволит вам восстановить любую из ранее сохраненных редакций вашей библиотеки пользователя, когда она вам понадобится. Просто скопируйте файл обратно в корень папки puzzles и удалите временную метку из его имени. Ваша библиотека будет обновлена после обновления редактора.

#

## Перечень групп пазлов системной библиотеки

Ниже находится описание всех групп пазлов, входящих в состав системной библиотеки «Вердж3Д».

#

### Hovered Cursor

Определять нахождение курсора над выбранным объектом и менять курсор на «палец», указывая пользователю, что данный объект кликабелен.

Замените Cube на требуемое имя объекта. Если вам нужно не менять курсор, а делать что-то другое, замените пазл set style.

Данная функциональность используется в демо-приложении «Кольцо» (исходные файлы доступны в магазине ассетов).

#

### Context Menu

Заменяет штатное браузерное контекстное меню, вызываемое по правой кнопке мыши, на меню, определённое разработчиком приложения (всплывает по клику на 3Д-объекте).

Замените Cube, пункты меню и обработчики событий для конкретного приложения.

#

### Detect Pressed/Released

Пазл when clicked не позволяет разделить нажатие и отпускание кнопок мыши (или нажатие и отпускание пальца на тачскрине). Следующий набор пазлов позволяет это сделать:

Замените Cube на требуемое имя объекта и пазл print to console на пазлы необходимые в вашем приложении.

#

### Keyboard Controls

Эти пазлы определяют нажатие клавиш на клавиатуре.

Замените ArrowLeft/ArrowRight на нужные клавиши и подставьте требуемые пазлы вместо print to console.

Имена клавиш это либо буквы (например "w", "a", "s", "d") набираемые на клавиатуре, либо специальные значения: "ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "Enter", "Tab", "Home", "End", "Delete", "Escape", " " (пробел), и т.д. Смотрите полный список клавиш.

Данная функциональность используется в демо-приложении «Приключения фермера» (исходные файлы доступны в магазине ассетов).

#

### Performance Tweaks

Используйте эти пазлы чтобы регулировать качество и производительность приложений в зависимости от возможностей устройства. На мощных устройствах с экранами высокого разрешения качество рендеринга увеличивается за счёт увеличения числа рисуемых пикселей. На средних и маломощных устройствах эти пазлы отключают тени и постобработку.

Пазлы не требуют дополнительной настройки и рекомендуются к использованию во всех «Вердж3Д»-приложениях.

#

### Setup Fullscreen iFrame

Заменить кнопку входа в полноэкранный режим собственным HTML-элементом.

Для работы пазлов укажите идентификатор нового элемента-контейнера вместо fs_button, элемента-изображения вместо fs_image, и новый набор изображений для входа/выхода из полноэкранного режима вместо enter.png/exit.png.

Этот набор пазлов разработан для случая, когда элементы расположены на родительской странице, а 3Д-часть встраивается через элемент iframe. Контейнерный элемент кнопки находится на родительской странице (чаще всего это будет <a> or <div>), поэтому здесь используется свойство in parent doc. Также мы модифицируем свойство src, что значит, что дочерним элементом будет <img>. Однако вы можете разработать свою собственную конфигурацию элементов и поменять данный набор пазлов согласно своим предпочтениям. Смотрите подробности в документации на пазл init fullscreen.

Данная функциональность используется в демо-приложении «Подогреватель чайников» (исходные файлы доступны в магазине ассетов).

#

### Sound iOS Workaround

Этот пазл позволяет убрать ограничения на проигрывание звуков на мобильных устройствах.

Замените mySound.mp3 на звуковой файл из вашего приложения.

#

### Alert Message

Отображает уведомление в нижней части экрана.

В данных пазлах вы можете поменять текст и стиль уведомления.

Данная функциональность используется в демо-приложении «Фоторамка» (исходные файлы доступны в магазине ассетов).

#

### Inquiry Form

Создаёт и показывает диалоговую форму для запроса, который может быть отправлен с помощью «Вордпресс»-плагина или стороннего сервиса для обработки форм.

По умолчанию диалог появляется по клику на объекте Cube и отображает форму с полями Name (имя) и Email (почта):

Форма может быть адаптирована согласно вашим требованиям. Не забудьте указать свойство name для всех полей формы.

Всегда заменяйте sandbox.soft8soft.com вашим собственным сервисом отправки форм! Песочница «Вердж3Д», расположенная по данному адресу всегда принимает формы, но уничтожает их сразу по получении.

#

### VR Controls

Позволяет перемещаться в виртуальной реальности с использованием ВР-контроллеров (тачпадов или стиков в зависимости от модели). Данная библиотека совместима с большинством устройств присутствующих на рынке, при условии, что они соответствуют стандарту xr-standard.

Замените объект collision_mesh на навигационный меш, в пределах которого возможно движение камеры. Учтите, что вся зона над этим мешем будет пригодна для перемещения, а места, где этот меш отсутствует, доступны не будут.

Также убедитесь, что при входе в ВР-режим установлен режим позиционирования sitting or standing. Ознакомьтесь с пазлом enter VR mode для получения подробной информации.

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

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