События документа

2.0 Начиная с версии 2.0, к функциям комнаты были добавлены события документа.

Важное различие: функция комнаты может быть только одна. У комнаты не может быть двух функций beforeChoices: если вы попытаетесь задать ещё одну, она просто перепишет первое определение. Но вот события никогда не переписывают друг друга, а значит, вы можете повесить сколько угодно обработчиков на одно событие.

Также см. методы JavaScript addEventListener() и removeEventListener(), которые для краткости вызываются через jQuery on() и off().

Все события прикреплены к объекту document, т.е. всей странице.

Вызов события: $(document).trigger("myevent", argument)

Перехват события room_happyplace_enter, т.е. входа в комнату happyplace:

$(document).on("room_happyplace_enter", () ->
  salet.character.is_happy = true
)

init

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

load_game

Событие, которое вызывается при загрузке игры.

Аргумент progress: сохранённое состояние.

save_game

Событие, которое вызывается при сохранении игры.

Аргумент id: ID сохранения

Аргумент progress: сохранённое состояние

after_action

Вызывается каждый раз после выполнения какого-либо действия в комнате.

Аргумент room: ID комнаты

Аргумент action: ID действия

before_action

Вызывается каждый раз перед выполнением какого-либо действия в комнате.

Если она выставляет salet.actionConsumed = true, то действие считается поглощённым, и обработчик действия в комнате не вызывается.

Аргумент room: ID комнаты

Аргумент action: ID действия

room_transition

Событие вызывается в самом начале входа в комнату.

Аргумент 1: ID комнаты, из которой вышел игрок

Аргумент 2: ID комнаты, в которую входит игрок

Аргумент 3: флаг форсированного входа; если true, то canExit не проверяется. По умолчанию false

room_[ID комнаты]_clear_content

Вызывается, если указанная комната очищает текст страницы.

room_exit

Вызывается, когда игрок выходит из любой комнаты.

Аргумент 1: ID комнаты, из которой вышел игрок

Аргумент 2: ID комнаты, в которую входит игрок

room_[ID комнаты]_exit

Вызывается, когда игрок выходит из указанной комнаты.

Аргумент: ID комнаты, в которую входит игрок

room_enter

Вызывается, когда игрок входит в любую комнату.

Аргумент 1: ID комнаты, из которой вышел игрок

Аргумент 2: ID комнаты, в которую входит игрок

room_[ID комнаты]_enter

Вызывается, когда игрок входит в указанную комнату.

Аргумент: ID комнаты, из которой вышел игрок

room_[ID комнаты]_after_enter

Вызывается после того, как игрок вошёл в указанную комнату.

Аргумент from: ID комнаты, из которой вышел игрок

Аргумент force: флаг форсированного входа; если true, то canExit не проверяется. По умолчанию false

room_[ID комнаты]_before_choices

Вызывается перед выводом вариантов выбора в указанной комнате.

room_[ID комнаты]_after_choices

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

timer_[ID таймера]

Вызывается каждый ход для каждого активного таймера.

view_init

Вызывается при инициализации Вида.

clear_content

Вызывается каждый раз при очистке любого содержимого.

Аргумент: селектор очищаемого блока

press

gamepad (только со включённым модулем геймпада)

Вызывается при нажатии на кнопку геймпада. Оси тоже считаются, если значение стика больше 75% в одном направлении.

Таблицы соотвествия кнопок названиям различаются для каждой модели геймпада. Также на это могут влиять браузер, операционная система и настройки самого геймпада (например, переключатель режимов работы). При сомнениях Salet выбирает таблицу наугад. Не забывайте предусмотреть в игре возможность перенастройки кнопок.

Аргумент 1: ID нажатой кнопки. Может быть одним из:

  • a
  • b
  • back
  • dpad down
  • dpad left
  • dpad right
  • dpad up
  • left shoulder
  • left stick
  • left stick down
  • left stick left
  • left stick right
  • left stick up
  • left trigger
  • right shoulder
  • right stick
  • right stick up
  • right stick left
  • right stick right
  • right stick down
  • right trigger
  • start
  • x
  • y

Аргумент 2: ID геймпада (от 1 до 4). Указывает на ID в массиве navigator.getGamepads()

axis

gamepad (только со включённым модулем геймпада)

Вызывается для движений стиков геймпада.

Аргумент 1: название оси (dpad x, left stick x, right stick y и по аналогии)

Аргумент 2: новое значение оси

Аргумент 3: ID геймпада (от 1 до 4). Указывает на ID в массиве navigator.getGamepads()

  • ru/api/events.txt
  • Последние изменения: 2017/11/09 16:53
  • Alexander Yakovlev