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

Руководство по миграции для ct.js v4.0.


Руководство по миграции для ct.js v4.0.

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

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

Ct.js потерял свой ct.! 😢

Все строки ct.something теперь просто something, за исключением нескольких случаев:

  • ct.sound теперь в множественном числе - sounds.
    • ct.sound.spawn теперь sounds.play
    • Некоторые параметры и методы могут быть другими; посмотрите новую документацию звуков.
  • ct.delta теперь u.delta, ct.deltaUi теперь u.deltaUi.
  • ct.room теперь rooms.current.
  • ct.pixiApp теперь просто pixiApp.
  • ct.roomWidth и ct.roomHeight теперь rooms.current.viewWidth и rooms.current.viewHeight.
  • ct.speed теперь settings.targetFps.

Пример. Старый код:

// Фрагмент из демо-игры catsteroids
this.targetx = ct.random.range(75, ct.camera.width - 75);
this.targety = ct.random.range(75, 300);
ct.tween.add({
    obj: this,
    fields: {
        x: this.targetx,
        y: this.targety
    },
    duration: 1500
});

Новый код:

// Фрагмент из демо-игры catsteroids
this.targetx = random.range(75, camera.width - 75);
this.targety = random.range(75, 300);
tween.add({
    obj: this,
    fields: {
        x: this.targetx,
        y: this.targety
    },
    duration: 1500
});

Камера больше не доступна для записи

Вы не можете присвоить новую камеру переменной camera.

Новые значения для отслеживания времени и изменений в методе this.move() и фонах

Помимо u.delta и u.deltaUi, в ct.js теперь также есть u.time и u.timeUi, которые вычисляются в секундах и показывают время, прошедшее между последним кадром и текущим. Рекомендуется использовать эти значения для скорости и других временных переменных вместо u.delta и u.deltaUi, поскольку последние не обеспечат плавное движение, если вы измените в игре лимит кадров в секунду.

  • В связи с этим метод this.move() теперь также использует эти значения, и вам потребуется умножить ваши скорости на число максимальных кадров в секунду, определенное в настройках рендеринга проекта (по умолчанию 60).

  • Это также влияет на методы place.moveSmart и place.moveBullet, а также на скорость движения фонового изображения.

  • При использовании таких значений ускорения, как в this.gravity и this.addSpeed, необходимо умножать их на число максимальной частоты кадров в два раза (которое по умолчанию составляет 3600), потому что физика.

  • Свойства u.delta и u.deltaUi теперь устарели, но все еще доступны для использования.

FitToScreen теперь является частью библиотеки ct.js

Настройки вида перемещены в настройки рендеринга проекта. Кроме того, вы можете изменять параметры вида во время игры с помощью нового API настроек!

Скелетные анимации больше не поддерживаются

Ct.js обновил свою базовую библиотеку графики pixi.js, и хотя это принесло множество преимуществ в плане разработки и производительности рендеринга, DragonBones (библиотека скелетных анимаций) теперь не поддерживает pixi.js, поэтому скелетные анимации больше не поддерживаются в ct.js. Ct.js, вероятно, добавит поддержку другой библиотеки выполнения, если ее лицензия совместима с MIT.

Pixi.js обновлен с v5.3 до v7.1

Это включает в себя некоторые изменения, нарушающие совместимость, и устаревшие функции из базовой библиотеки графики. Если вы не используете API Pixi.js напрямую, это не должно повлиять на ваши проекты.

Котомоды

В tween.add опция useUiDelta была переименована в isUi, чтобы соответствовать другим вариантам, именованным аналогичным образом в ct.js.

Инъекция %start% была удалена. Вместо этого пишите код в файле index.js.

Котомоды "mouse" и "touch" были удалены. Используйте модуль "pointer" или встроенные события указателя, которые можно добавить к спискам событий ваших шаблонов.

Удалены ct.u.ext (также известные как ct.u.extend)

Используйте вместо этого Object.assign(target, valuesObject), оно делает то же самое.