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