Перейти к основному содержанию

Миграция с v1.2 на v1.3


Миграция с v1.2 на v1.3

Автоматически переведённая страница

К сожалению, на полный ручной перевод у нас не хватает ресурсов.
Если вы увидели ошибку — отправьте пул-риквест с исправлениями (ссылка для редактирования в конце страницы).

В ct.js v1.3 был представлен концепт камеры. Раньше для перемещения области просмотра использовались параметры ct.room.x и ct.room.y. Теперь эти параметры являются только для чтения, а перемещение области просмотра осуществляется с помощью параметров ct.camera.

Камера имеет дополнительные функции, такие как масштабирование, вращение области просмотра и добавление эффекта дрожи экрана.

В ней также были введены понятия координат игры и координат пользовательского интерфейса. Коротко говоря, "координаты игры" — это те координаты, которые вы использовали раньше, они используются для объектов, расположенных в игровом мире;, а "координаты пользовательского интерфейса" предназначены исключительно для слоев пользовательского интерфейса. Подробнее об этом можно прочитать здесь.

Поэтому:

  • вместо ct.room.x используйте 0 для координат пользовательского интерфейса и ct.camera.getTopLeftCorner()[0] для координат игры;
  • вместо ct.room.y используйте 0 для координат пользовательского интерфейса и ct.camera.getTopLeftCorner()[1] для координат игры;
  • вместо ct.viewWidth используйте ct.camera.width для координат пользовательского интерфейса и ct.camera.getBoundingBox().width для координат игры;
  • вместо ct.viewHeight используйте ct.camera.heght для координат пользовательского интерфейса и ct.camera.getBoundingBox().heght для координат игры.

Для их комбинаций, таких как ct.room.x + ct.viewWidth, лучше использовать специальные функции и параметры камеры. Например, ct.room.x + ct.viewWidth будет равно ct.camera.width в координатах пользовательского интерфейса и ct.camera.left в координатах игры (хотя при работе с вращенными камерами вам нужно будет использовать ct.camera.getTopLeftCorner и ct.camera.getBottomLeftCorner).

Примечание

Если вы создаете пользовательский интерфейс, лучше использовать автоматическое выравнивание и слои пользовательского интерфейса, описанные здесь, так как они более мощные инструменты при работе со координатами экрана.

Совет

Вам также следует рассмотреть использование ct.camera.moveTo и ct.camera.teleportTo для перемещения камеры. Подробнее об их эффектах можно прочитать здесь.

Совет

Параметры ct.viewWidth и ct.viewHeight по-прежнему работают, но являются устаревшими и отражают значения ct.camera.width и ct.camera.height. Параметры ct.view* будут удалены в следующей крупной версии.

Кроме того:

  • используйте ct.camera.follow вместо ct.room.follow;
  • используйте ct.camera.shiftX и ct.camera.shiftY вместо ct.room.followShiftX и ct.room.followShiftY;
  • используйте ct.camera.drift вместо ct.room.followDrift;
  • используйте ct.camera.borderX и ct.camera.borderY вместо ct.room.borderX и ct.room.borderY;
  • используйте ct.camera.borderX = ct.camera.borderY = null; вместо ct.room.center = true;.

Изменения в встроенных модулях

ct.mouse и ct.touch теперь имеют дополнительные методы и параметры, например, ct.mouse.xui, ct.mouse.hui и ct.touch.hoversUi. Полный список новых параметров см. в документации этих модулей.