res
res
Этот модуль отвечает за загрузку ресурсов в ваших игровых проектах. С помощью этого модуля вы можете загружать дополнительные ресурсы во время игры.
Автоматически переведённая страница
К сожалению, на полный ручной перевод у нас не хватает ресурсов.
Если вы увидели ошибку — отправьте пул-риквест с исправлениями (ссылка для редактирования в конце страницы).
Получение существующих ассетов
res.getTexture(name: string): PIXI.Texture[];
Получает текстуру pixi.js из имени текстуры ct.js, чтобы ее можно было использовать в объектах pixi.js.
name
Имя текстуры ct.js. Если вместо имени текстуры предоставляется число-1
, возвращается пустая текстура.
Возвращает массив всех кадров этой текстуры ct.js. Ниже приведен расширенный вариант res.getTexture, который возвращает отдельные кадры.
res.getTexture(name: string, frame: number): PIXI.Texture;
Получает pixi.js текстуру из имени текстуры ct.js, чтобы ее можно было использовать в объектах pixi.js.
name
— Имя текстуры ct.js. Если вместо имени текстуры предоставляется число-1
, то будет возвращена пустая текстура.frame
— Рамка для извлечения.
Возвращает одиночную PIXI.Texture.
Просмотр дерева ассетов
Начиная с версии 4.0 ct.js может экспортировать частичную структуру вашего проекта как поле res.tree
. Вы можете использовать его, например, для загрузки списка игровых карт динамически, чтобы не обновлять интерфейс вручную, или для создания случайных сущностей на основе того, как активы организованы в папках.
Эта функция по умолчанию выключена , поскольку она добавляет некоторую нагрузку к экспортируемым проектам и также может вызвать проблемы конфиденциальности, так как показывает используемые активы чистым и удобным для просмотра способом.
Чтобы включить эту функцию, перейдите в настройки вашего проекта (вкладка "Проект" в верхней части экрана) и включите ее в разделе экспорта. Вы также можете указать, какие активы должны присутствовать в дереве активов.
res.tree
Это массив корня вашего проекта с ассетами и папками как они выглядит в IDE. Каждый элемент имеет поля «name» и «type», где «type» может быть одним из:
'template'
'room'
'sound'
'style'
'texture'
'tandem'
'font'
'behavior'
'folder'
Папки также имеют массив «entries», который содержит объекты такого же типа, как и в «res.tree».
res.getChildren(path?: string)
Получает прямых детей папки.
Аргумент путь
- это строка в формате пути к файлу. Например, если у вас есть структура папок Корень > Ядро > Игрок
, то путь к папке Игрок
будет /Ядро/Игрок
.
Вы также можете использовать обратную косую черту \
вместо косой черты /
, если правильно экранируете ее в строках вашего кода, и первые и последние /
являются необязательными. Эти пути эквивалентны:
/Player/Core
Player/Core/
\\Player\\Core\\
Player/Core
Если аргумент path
является ложным, или не указан, или равен /
, то будут возвращены записи корневого каталога проекта.
Возвращает ExportedAsset[]
— Массив всех активов в папке. Подпапки не включаются в массив.
res.getOfType(type: AssetType | 'folder', path?: string)
Получает прямых потомков папки, отфильтрованных по типу ассета. Аргумент path
ведет себя так же, как и в res.getChildren
.
Возвращает (ЭкспортированныйАссет | ЭкспортированнаяПапка)[]
— Массив всех выбранных записей в папке.
Пример: установить текстуру копии на случайную текстуру из папки "Enemy ships"
var shipTextures = res.getOfType('textures', 'Enemies/Enemy ships');
// Нам понадобится включить котомод `random`
this.tex = random.from(shipTextures).name;
shipTextures = res.getOfType 'textures', 'Enemies/Enemy ships'
# Нам понадобится включить котомод `random`
randomTexture = random.from shipTextures
@tex = randomTexture.name
res.getAll(path?: строка)
Получает все ассеты внутри папки, включая в подпапках. Аргумент path
работает так же, как и в res.getChildren
.
Возвращает ExportedAsset[]
— все ассеты в папке и ее подпапках. Сами папки не включаются в массив.
res.getAllOfType(type: AssetType | 'folder', path?: string)
Получает все ассеты внутри папки, включая подпапки, отфильтрованные по типу. Аргумент path
работает так же, как и в функции res.getChildren
.
Возвращает (ExportedAsset | ExportedFolder)[]
— Все элементы внутри папки.
Загрузка и удаление ассетов
res.loadScript(url: string): Promise<void>
Загружает и выполняет скрипт по его URL-адресу. URL-адрес файла скрипта может быть как относительным, так и абсолютным.
res.loadTexture(url: string, name: string, textureOptions: ITextureOptions): Promise<PIXI.Texture[]>
Загружает отдельное изображение в виде названной текстуры ct.js.
url
- Путь к исходному изображению.name
- Имя результирующей текстуры ct.js, которое будет использоваться в вашем коде.textureOptions
- Информация о текстурных оселях и форме столкновения:shape
: см. "Создание динамических форм столкновения" для ct.place внутри вашего ct.IDE.anchor
:x
: число от 0 до 1, где 0 соответствует левому краю, 0.5 - центру, а 1 - правому краю.y
: число от 0 до 1, где 0 соответствует верхнему краю, 0.5 - центру, а 1 - нижнему краю.
Пример: загрузка дополнительной текстуры в ct.js
res.loadTexture('Background_42.png', 'Background_42', {
anchor: {
x: 0,
y: 0
}
})
.then(textureName => {
// Добавляет фон в текущую комнату на глубине -100.
ct.backgrounds.add(textureName, 0, -100);
});
textureSettings =
anchor:
x: 0,
y: 0
res.loadTexture 'Background_42.png', 'Background_42', textureSettings
.then (textureName) =>
# Добавляет фон в текущую комнату на глубине -100.
ct.backgrounds.add textureName, 0, -100
res.loadAtlas(url: string): Promise<string[]>;
Загружает файл .json, совместимый с Texture Packer, со своими исходными изображениями, добавляя текстуры ct.js в игру.
url
- Путь к JSON-файлу, описывающему текстуры атласа.
Метод возвращает обещание, которое разрешается в массиве всех загруженных текстур ct.js (массив имен текстур).
res.unloadAtlas(url: string): Promise<void>;
Удаляет ранее загруженный атлас по его URL, удаляя все связанные текстуры из игры.
url
- Путь к JSON-файлу, описывающему текстуры атласа.
Метод возвращает обещание, которое выполняется пустым значением.
res.loadBitmapFont(url: string): Promise<string>;
Загружает битмап-шрифт по его XML-файлу.
url
- Путь к XML-файлу, описывающему битмап-шрифты.
Возвращает промис, который разрешается в загруженный битмап-шрифту.
res.unloadBitmapFont(url: string): Promise<void>
Удаляет ранее загруженный битмап-шрифт из игры.