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

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"

JavaScript
var shipTextures = res.getOfType('textures', 'Enemies/Enemy ships');
// Нам понадобится включить котомод `random`
this.tex = random.from(shipTextures).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

JavaScript
res.loadTexture('Background_42.png', 'Background_42', {
    anchor: {
        x: 0,
        y: 0
    }
})
.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>

Удаляет ранее загруженный битмап-шрифт из игры.