Команды RPG Maker MV/Передвинуть событие

Материал из Русская версия РПГ.укр
Окно настройки команды «Передвинуть событие».

Передвинуть событиекоманда событий в RPG Maker MV, позволяющая мгновенно переместить событие на карте. (С помощью событий часто представляются неигровые персонажи.)

Можно указать следующие настройки:

  • какое событие перемещается,
  • на какое место,
  • в каком направлении будет повёрнуто событие после перемещения.

Место можно задать одним из трёх способов:

  • напрямую указав его,
  • задав две переменных с координатами X и Y (где X — количество клеток от левого края карты, Y — количество клеток от верхнего края карты),
  • выбрав другое событие (тогда события поменяются местами).

Команда перемещает только события. Для перемещения игрока есть похожая команда Переместить игрока, а для транспорта — Переместить транспорт.

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

Технические подробности[править]

Внутренний формат[править]

Код команды — 203. Она кодируется таким образом:

{
  "code": 203,
  "indent": степень_вложенности,
  "parameters": [
    номер_события,
    способ_задания_места,
    x_или_номер_переменной_или_события,
    y_или_номер_переменной,
    0
  ]
}

Где следует заменить следующее:

  • степень_вложенности на количество команд, в которые вложена данная команда,
  • номер_события либо на номер события, либо на 0 (если меняется положение текущего события),
  • способ_задания_места либо на 0 (если место задано напрямую), либо на 1 (если место задано переменными), либо на 2 (если событие меняется на другое событие),
  • x_или_номер_переменной_или_события либо на координату по оси X (если способ_задания_места равен 0), либо на номер переменной с координатой по оси X в ней (если способ_задания_места равен 1), либо на номер второго события (если способ_задания_места равен 2),
  • y_или_номер_переменной либо на координату по оси Y (если способ_задания_места равен 0), либо на номер переменной (если способ_задания_места равен 1), либо на 0 (если способ_задания_места равен 2),
  • направление либо на 0 (если направление события не меняется), либо на код направления: 2 — вниз, 4 — влево, 6 — вправо, 8 — вверх.

Использование в JavaScript[править]

Чтобы переместить событие на заданные координаты, можно использовать такой код:

$gameMap.event(1).locate(2, 3);
  // 1 следует заменить на номер события,
  // 2 на координату по оси X,
  // 3 на координату по оси Y

Чтобы указать направление, можно использовать такой код:

$gameMap.event(1).setDirection(2);
  // 1 следует заменить на номер события,
  // 2 следует заменить на код направления:
  //        2 вниз, 4 влево, 6 вправо, 8 вверх

Этот код можно объединить:

var character = $gameMap.event(1);
  // 1 следует заменить на номер события
character.locate(2, 3);
  // 2 следует заменить  на координату по оси X,
  // 3 на координату по оси Y
character.setDirection(2);
  // 2 следует заменить на код направления:
  //        2 вниз, 4 влево, 6 вправо, 8 вверх

Чтобы взять координаты из переменной, можно использовать $gameVariables.value(номер_переменной). Например:

$gameMap.event(1).locate(gameVariables.value(2), gameVariables.value(3));
  // 1 следует заменить на номер события,
  // 2 на номер переменной, в которой хранится координата по оси X,
  // 3 на номер переменной, в которой хранится координата по оси Y

Чтобы поменять два события местами, можно использовать такой код:

var character1 = $gameMap.event(1);
  // 1 следует заменить на номер первого события
var character2 = $gameMap.event(2);
  // 2 следует заменить на номер второго события
character1.swap(character2);