twine-wonder

Скрипты в Twine Wonder

В тексте узла можно писать встроенные скрипты на JavaScript с помощью двойных фигурных скобок:


Содержимое внутри скобок будет выполнено в момент, когда локация должна будет отобразиться на экране.

Если начать с `


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

## Wonder команды
Для сохранения, загрузки, музыки и прочих интересных возможностей можно использовать [специальные команды объекта Wonder](/twine-wonder/docs/WonderCommands.html)

## this или контекст действия скрипта
В игре есть состояние игры - так называемый gameState. По умолчанию это пустой объект. При создании переменных или с помощью ваших скриптов его можно наполнить переменными (как полями объекта). Для этого надо использовать `this.` как обращение к объекту - так как Wonder передает gameState как контекст всем исполняемым скриптам.

В стартовом JavaScript-скрипте в Twine-редакторе можно задать, к примеру, количество золота так
```javascript
this.gold = 100;

В стартовом скрипте не нужно писать фигурные скобки.

Далее, в текстовых локациях можно писать прямо в текст


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

Все скрипты выполняются каждый раз, когда вы открываете локацию с ними. Вы можете использовать любой JavaScript-код, который может работать в браузере. Вы можете обращаться к window, document и другим объектам DOM API.

Вы можете создавать свои собственные состояния и объекты для игры - но gameState, к которому вы можете обращаться через this, удобен тем, что он будет использовать при автоматическом сохранении и восстановлении, а также в других возможных механизмах Wonder.