Инструкции по миграции для ct.js v2.0.
Инструкции по миграции для ct.js v2.0.
Автоматически переведённая страница
К сожалению, на полный ручной перевод у нас не хватает ресурсов.
Если вы увидели ошибку — отправьте пул-риквест с исправлениями (ссылка для редактирования в конце страницы).
Изменения в свойстве «rotation» копий или «Мои копии вращаются как пропеллеры»
Раньше свойство «rotation» было прокси-свойством pixi.js с таким же именем, которое измерялось в радианах. Это было сделано для сохранения совместимости с старыми проектами, созданными до появления v1. Мы отказались от этого прокси, чтобы лучше соответствовать поведению pixi.js и устранить неожиданные несоответствия при работе как с ct.js, так и с объектами pixi.js.
В pixi.js есть встроенное свойство «angle», измеряемое в градусах:
- Вместо
this.rotationиспользуйтеthis.angle. this.angleвращается по часовой стрелке по сравнению с предыдущим значениемthis.rotation, которое вращалось против часовой стрелки, поэтомуthis.angle = 90;указывает нанизу, 180 — влево, 270 — вверх, 360 и 0 — вправо.
Типы теперь называются "Шаблоны"
Да.
Это то, что я, создатель ct.js, хотел изменить на протяжении уже примерно пяти лет. Большинство названий в ct.js были сделаны с плохим знанием английского языка, и вопреки внутренним свойств и нишевым вещам, таким как "инъекции кода" (которые должны называться "инъекциями кода"), "типы" - это то, что каждый пользователь ct.js ежедневно пишет.
Шаблоны - это лучшее слово для сущностей, из которых создаются копии ct.js, особенно при переводе ct.js на другие языки, и они также более нейтральны на языке. В конце концов, в ct.js всего шесть типов, и ни один из них не является старым типом ct.js.
"Шаблоны" также будут более логично звучать, когда ct.js будет поддерживать шаблоны на основе классов, отличные от простых анимационных спрайтов: идея состоит в том, чтобы позволить создавать кнопки, шаблоны панелей и использовать крутую штуку, как сплайновая террариум. Хотя все это придет позже, лучше сделать небольшие переходы сейчас - чтобы облегчить будущие миграции.
Как это влияет на вас и ваши проекты:
- Вам теперь нужно будет писать
ct.templates...вместоct.types...; - Ct.IDE заменит
ct.typesнаct.templates, когда вы откроете проект, созданный в предыдущих версиях ct.js, но есть еще изменения в APIct.templates, перечисленные ниже.
ct.templates.exists
- Функция
ct.templates.exists(копия)переименована вct.templates.valid(копия) - Теперь функция
ct.templates.exists(тип_объекта)проверяет наличие копий определенного имени в комнате (или в приложенных/представленных комнатах).
ct.templates.make, ct.templates.copy.
ct.templates.make был удален, так как его никто не использовал.
Теперь есть два отдельных метода для создания копий:
Обратите внимание, что аргументы в ct.templates.copyIntoRoom(type, x, y, container, exts) немного сдвинуты по сравнению с предыдущим методом ct.templates.copy.
ct.templates.copyIntoRoom выбросит ошибку, если container не установлен. Разделение на два метода призвано сделать создание копий более надежным и исключить ситуации, когда, например, вы передаете ct.rooms.list['NonExistentRoomName'][0] в качестве контейнера и получаете копию внутри основной комнаты без каких-либо предупреждений.
Функции ct.u.rotate, ct.u.rotateRad, ct.u.uiToGameCoord и ct.u.gameToUiCoord теперь возвращают объект PIXI.Point вместо массивов.
Объект PIXI.Point имеет свойства x и y, а также несколько полезных методов для манипуляции с ними.
Функции ct.camera.uiToGameCoord, ct.camera.gameToUiCoord и все функции ct.camera.get(XY)Corner также используют эти методы, так как они на них полагаются.
ct.place изменился, чтобы стать более эффективным и удобным в использовании
- Теперь
ct.place.occupied,ct.place.freeработают как для копий, так и для плиток, поэтому вам больше не нужно добавлять дополнительную проверкуct.place.tile. Кроме того, все функции отслеживания теперь также работают с плитками. - Аргумент «многочисленный» был удален из
ct.place.meetиct.place.occupied. Вместо этого теперь есть методыct.place.meetMultipleиct.place.occupiedMultiple, чтобы сделать код более читаемым. Вам может потребоваться переписать некоторые части кода, чтобы они работали с несколькими копиями снова. ct.place.tileбыл переименован вct.place.tiles, и к нему добавлен аргументcopies.- Кроме того,
ct.placeтеперь поддерживает и учитывает формы столкновений плиток. В настоящее время это мало полезно при использовании больших наборов плиток, но вы теперь можете иметь отдельные плитки круглой и другой формы!
См. новую документацию для ct.place в вашем ct.js.
По умолчанию ct.sound теперь является катмодом. Обычно это не должно вызывать никаких проблем, но если у вас возникают ошибки ct.res из-за отсутствия систем звуков, включите один из катмодов звука в настройках вашего проекта.
ct.mouse и ct.touch теперь являются устаревшими и заменены на ct.pointer.
Это не вызывает немедленных проблем, но рекомендуется использовать модуль ct.pointer в ваших будущих проектах. Он включает в себя функциональность как ct.mouse, так и ct.touch с знакомым API, а также поддерживает дополнительные функции, такие как чтение давления, положение перья/пальца и абстракцию над API Pointer Lock.
