Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы SpriteKit ссылка класса SKMutableTexture

Опции
Развертывание Target:

На этой странице
Язык:

SKMutableTexture

SKMutableTexture объект является текстурой Набора Sprite, содержание которой может быть динамично обновлено.

Обычно, текстуры Набора Sprite (SKTexture объекты), статичны, означая, что когда-то создаваемый, не может быть изменено их содержание. Это важно, потому что статическим изображением можно более эффективно управлять в аппаратном обеспечении машинной графики. Однако иногда необходимо быть в состоянии обновить содержание текстуры динамично. В этом случае необходимо использовать непостоянную текстуру. Поскольку существует потеря производительности для обновления содержания текстуры, рассмотрите другие опции сначала. Например, можно представить текстуру в аппаратных средствах с помощью textureFromNode: метод и дерево узла.

Для использования этого класса создайте непостоянную текстуру с помощью или одного из ее методов создания или тех из ее суперкласса. Затем когда необходимо будет обновить непостоянное содержание объекта текстуры, вызовите modifyPixelDataWithBlock: метод. Ваш блок вызывают с расположением текстуры в памяти. Ваш блок должен обновить эту текстуру и затем возвратиться.

Наследование


Соответствует


Оператор импорта


Swift

import SpriteKit

Objective C

@import SpriteKit;

Доступность


Доступный в OS X v10.10 и позже.
  • Создает пустую текстуру с определенным размером.

    Объявление

    Objective C

    + (instancetype)mutableTextureWithSize:(CGSize)size

    Параметры

    size

    Размер текстуры, в пикселях.

    Возвращаемое значение

    Пустая непостоянная текстура.

    Обсуждение

    Необходимо вызвать modifyPixelDataWithBlock: метод, по крайней мере, однажды использующий эту текстуру.

    Оператор импорта

    Objective C

    @import SpriteKit;

    Доступность

    Доступный в OS X v10.10 и позже.

  • Инициализирует пустую текстуру с определенным размером и форматом.

    Объявление

    Swift

    init(size size: CGSize, pixelFormat format: Int32)

    Objective C

    - (instancetype)initWithSize:(CGSize)size pixelFormat:(int)format

    Параметры

    size

    Размер текстуры, в пикселях.

    format

    Базовый код Формата видео. Поддерживаются три кода: kCVPixelFormatType_32RGBA, kCVPixelFormatType_64RGBAHalf, и kCVPixelFormatType_128RGBAFloat для байта, полуплавания и компонентов плавающих соответственно.

    Возвращаемое значение

    Пустая непостоянная текстура.

    Обсуждение

    Необходимо вызвать modifyPixelDataWithBlock: метод, по крайней мере, однажды использующий эту текстуру.

    Оператор импорта

    Objective C

    @import SpriteKit;

    Swift

    import SpriteKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Инициализирует пустую текстуру с определенным размером.

    Объявление

    Swift

    init(size size: CGSize)

    Objective C

    - (instancetype)initWithSize:(CGSize)size

    Параметры

    size

    Размер текстуры, в пикселях.

    Возвращаемое значение

    Пустая непостоянная текстура.

    Обсуждение

    Необходимо вызвать modifyPixelDataWithBlock: метод, по крайней мере, однажды использующий эту текстуру.

    Оператор импорта

    Objective C

    @import SpriteKit;

    Swift

    import SpriteKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Изменяет содержание непостоянной текстуры.

    Объявление

    Swift

    func modifyPixelDataWithBlock(_ block: (UnsafeMutablePointer<Void>, UInt) -> Void)

    Objective C

    - (void)modifyPixelDataWithBlock:(void (^)(void *pixelData, size_t lengthInBytes))block

    Параметры

    block

    Блок, который вызовут, когда может быть безопасно изменена текстура. Блок берет следующие параметры:

    pixelData

    Указатель на запуск текущих данных текстуры.

    lengthInBytes

    Длина данных текстуры в байтах.

    Обсуждение

    Содержание текстуры может быть изменено только в определенные времена, когда аппаратное обеспечение машинной графики разрешает его. Когда этот метод вызовут, он планирует новую фоновую задачу для обновления текстуры и затем возвращается. Когда текстура может быть изменена, Ваш блок вызывают. Ваш блок вызывают на произвольной очереди. Ваш блок должен изменить содержание текстуры и затем возвратиться.

    Байты текстуры, как предполагается, сохранены как плотно упакованные 32 бит/пкс, 8bpc (целое без знака) пиксельные данные RGBA. Компоненты цвета, которые Вы обеспечиваете, должны были быть уже умножены на альфа-значение.

    Оператор импорта

    Objective C

    @import SpriteKit;

    Swift

    import SpriteKit

    Доступность

    Доступный в OS X v10.10 и позже.