Руководство по миграции для 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)
, оно делает то же самое.