Isomover — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Добавляемые параметры)
(Добавляемые параметры)
Строка 86: Строка 86:
 
*объект успех -  
 
*объект успех -  
 
*состояние успех -  
 
*состояние успех -  
Для каждого типа объектов, с которыми взаимодействие возможно, необходимо добавить отдельный параметр "взаимодействие с другими объектами" и настроить его
+
Для каждого типа объектов, с которыми взаимодействие возможно, необходимо добавить отдельный параметр "взаимодействие с другими объектами" и настроить его.
 +
 
 
[[Файл:+.png]] '''Клик при простое''':
 
[[Файл:+.png]] '''Клик при простое''':
 
*объект -  
 
*объект -  

Версия 10:48, 30 ноября 2015

Isomover - объект используется для осуществления движения и взаимодействия в изометрической карте.

 Isomover обязательно должен быть подобъектом isomap. 

В проекте с картой (isomap) и движущимися по ней объектами (isomover) часто используют economics и eitems потому, что для завершения процессов часто требуется применить предмет или ресурс.

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

Общие параметры

  • Положение (x,y) - рекомендуется выносить isomover-объекты за пределы карты. Иначе, если объект должен появляться не сразу, то он будет просто стоять без движения
  • Память - всегда должно быть значение 1, обязательное условие корректной работы. Это позволяет объекту двигаться последовательно, не инициализируясь после каждого движения в исходной точке

Основные параметры

Isomover1.png
  • Старт (start) - точка старта, выбирается из списка точек Isomap
  • Финиш (finish) - точка финиша, выбирается из списка точек Isomap
  • Скорость (макс) (vel_max) - максимальная скорость, с которой передвигается объект Isomover
  • Скорость (vel) - не использовать, вычисляется по формуле автоматически, позже будет скрыто.
  • Жизнь (макс) (pow_max) - максимальная жизнь
  • Жизнь (pow) - текущая жизнь
  • Сохранять жизнь в опции (powsave) - если да, то объекты сцены сохранят уровень жизни при выходе со сцены и возвращении на нее
  • Коэффициент скорости (speed_k) - коэффициент в формуле расчета скорости
  • Менять угол (fixangle) - изменение угла
  • Тип (mtype) - объекты можно разделять на типы (люди, монстры, звери). Взаимодействие происходит между объектами разных типов, настраивается в добавляемых параметрах
  • Радиус (mradius) - значения радиуса. Попадание изомувера другого типа в этот радиус позволит начать взаимодействие.
  • Время появления (appear_time) - время в миллисекундах появления объекта (длительность перехода по alpha)
  • Время провала (fail_time) - длительность анимации смерти объекта
  • Время паузы (pause_time) - длительность "заморозки" объекта
  • Графический ресурс:
    • вверх (res0) - графический ресурс движения вверх
    • вверх/вправо (res1) - графический ресурс движения вверх/вправо
    • вправо (res2) - графический ресурс движения вправо
    • вниз/вправо (res3) - графический ресурс движения вниз/вправо
    • вниз (res4) - графический ресурс движения вниз
    • вниз/влево (res5) - графический ресурс движения вниз/влево
    • влево (res6) - графический ресурс движения влево
    • вверх/влево (res7) - графический ресурс движения вверх/влево. Достаточно указать первые пять ресурсов, а остальные редактор отобразит автоматически симметрично
    • иконка персонажа (char_ico) - иконка, которая будет находится сверху над персонажем. Изменение масштаба во время игры не влияет на масштаб иконки. Рекомендуется создавать ее с пивотом у нижней границы, тогда при масштабировании не будет образовываться зазор между иконкой и графикой объекта.
  • Коэффициент скорости
    • вертикальное (speed_0) - на этот коэффициент умножается скорость при вертикальном движении
    • диагональное (speed_1) - на этот коэффициент умножается скорость при диагональном движении
    • горизонтальное (speed_2) - на этот коэффициент умножается скорость при горизонтальном движении

Обычно горизонтальный коэффициент равен 1.00, чуть меньше диагональный и еще меньше вертикальный. Это необходимо для создания реалистичности движения относительно перспективы. То есть объекты, двигаясь вверх, как бы отдаляются от нас в глубь, поэтому по экрану они движутся медленней

Isomover2.png
  • Таймер:
    • подложка (digBg) - фон для цифр таймера
    • цифры (digNorm) - набор из 10-и цифр в виде ресурса анимации (клипа)
    • двоеточие (colNorm) - графический ресурс двоеточия
    • dx (dx) - смещение таймера по оси x относительно пивота изомувера
    • dy (dy) - смещение таймера по оси y относительно пивота изомувера
    • dx между цифрами (digShift) - расстояние между цифрами таймера
    • dx от (colShift) - отступы числовых разрядов влево и вправо от двоеточия
    • жизнь (objlife) - здесь выбирается объект типа прогресс_бар для отображения шкалы уровня жизни. Progress_bar создается отдельным объектом

Таймер позволяет отобразить время до окончания взаимодействия объектов. Например "корабль" прибыл в "порт" и начал отгружать груз. С помощью числового таймера или progress_bar можно увидеть через сколько закончится отгрузка. На рисунке справа показано взаимодействие двух объектов с изображение шкалы жизни одного из объектов и времени до конца взаимодействия.

  • Преследование
    • тип (chasetype) - тип объекта, который можно преследовать
    • радиус (chaseradius) - если объект указанного типа окажется в этом радиусе, то начнется преследование (например полицейская погоня)
  • Дорожное движение
    • радиус (stopradius) - объекты, которые двигались по одному ребру, останавливаются на расстоянии этого радиуса (необходимо для препятствия наслоений объектов на дороге, железнодорожных путях)



Добавляемые параметры

Isomover4.png
Isomover3.png

+.png Взаимодействие с другими объектами:

  • тип (mtype) - тип объекта с которым по настроенному ниже сценарию будет происходить взаимодействие, -1 для любого типа
  • min жизнь (minlife) - минимальное значение жизни для начала взаимодействия, -1 не проверять
  • max жизнь (maxlife) - минимальное значение жизни для начала взаимодействия, -1 не проверять
  • анимация (res_a) - анимация взаимодействия, например боя, разгрузки, разговора. Перетаскивается мышкой из редактора ресурсов
  • старт тип (stype) - тип старта взаимодействия
    • 0 - бесконечное ожидание тапа. Взаимодействие не начнется, не осуществиться тап по объекту
    • 1 - само
    • 2 - время
    • 3 - жизнь
  • старт таймер -
  • предмет -
  • иконка -
  • смещение иконки -
  • актив таймер -
  • объект инит -
  • состояние инит -
  • объект старт -
  • состояние старт -
  • объект фейл -
  • состояние фейл -
  • объект успех -
  • состояние успех -

Для каждого типа объектов, с которыми взаимодействие возможно, необходимо добавить отдельный параметр "взаимодействие с другими объектами" и настроить его.

+.png Клик при простое:

  • объект -
  • состояние -

+.png Изменить состояние объекта:

  • объект -
  • состояние -

+.png Конец движения:

  • объект -
  • состояние -

Состояния

Isomover box.png

idle - дефолтное состояние, в которое isomover переходит после всех манипуляций. Недвижимым объектам следует передавать idle, чтобы они появились (нарисовались) на карте. Для движущихся объектов его практически не используют, объект сам рисуется с началом движения.
acting_wait - первое состояние взаимодействия (запускается первый таймер, анимация взаимодействия и ожидается старт).
acting - второе состояние взаимодействия (вызывается после применения предмета или клика, запускает второй таймер).
being_acted - в этом состоянии пребывает тот объект, над которым идет действие. Объект в этом состоянии невидим.
move - состояние движения от старта к финишу.
move_to_smooth - состояние движения от текущей ноды (или следующей, если объект идет) к финишу.
appear - показать по альфе за время появления.
disappear - скрыть по альфе за время появления.
prepare_acting - вызвать взаимодействие без оппонента. Перед вызовом нужно в поле param записать номер взаимодействия по порядку.
start_acting - продолжить взаимодействие без оппонента. Перед вызовом нужно в поле param записать номер взаимодействия по порядку.

Особенности работы

Движение объекта типа Isomever задается с помощью отдельной машины состояний через которую происходит управление состояниями move, acting и остальными.