SKTextureAtlas
SKTextureAtlas
объект является набором связанных объектов текстуры, создаваемых из атласа текстуры, сохраненного в комплекте приложений. Когда к изображению текстуры, сохраненному в атласе, получают доступ, набор Sprite неявно загружает атласы. Используйте SKTextureAtlas
класс, когда Вы хотите явно получить доступ к текстуре содержание атласа.
Атласы текстуры могут улучшить производительность рендеринга и использование памяти. Например, если у Вас есть сцена со спрайтами, нарисованными с различными текстурами, Набор Sprite выполняет одну передачу получения для каждой текстуры. Однако, если все текстуры были загружены из того же атласа текстуры, Набор Sprite может представить спрайты в единственной передаче получения — и использовать меньше памяти, чтобы сделать так. Каждый раз, когда у Вас есть текстуры, всегда использующиеся вместе, хранящие их в атласе.
Как правило, Вы создаете атласы текстуры с помощью XCode. Добавьте папку с .atlas
расширение Вашего проекта и места иллюстрации, которые будут включены в атлас в этой папке. XCode создает атлас текстуры из иллюстраций и добавляет его к комплекту приложений. Формат для скомпилированного атласа текстуры является частным и подлежит изменению. Для получения дополнительной информации о создании атласов текстуры, посмотрите Справку Атласа Текстуры. Можно также создать атлас текстуры во время выполнения путем обеспечения словаря, указывающего на различные файлы образа, которые должны быть частью атласа; посмотрите atlasWithDictionary:
метод класса.
Для доступа к атласу непосредственно вызовите atlasNamed:
метод класса, передающий от имени папки (без любого расширения файла). Можно также создать атлас во время выполнения от ряда изображений; посмотрите atlasWithDictionary:
метод класса.
Разделение на подклассы примечаний
Этот класс не может быть разделен на подклассы.
Соответствует
-
AnyObject
-
CVarArgType
-
Equatable
-
Hashable
-
NSCoding
-
NSObjectProtocol
-
Печатаемый
-
Reflectable
-
NSCoding
-
NSObject
Оператор импорта
Swift
import SpriteKit
Objective C
@import SpriteKit;
Доступность
Доступный в OS X v10.9 и позже.
-
Создает атлас из данных, хранивших в комплекте приложений.
Объявление
Swift
convenience init!(named
name
: String)Objective C
+ (instancetype)atlasNamed:(NSString *)
name
Параметры
name
Имя атласа текстуры, без
.atlas
расширение.Возвращаемое значение
Новый атлас текстуры.
Обсуждение
Если атлас текстуры не может быть найден, исключение выдается.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Создает новый объект атласа текстуры из ряда файлов образа.
Объявление
Swift
convenience init!(dictionary
properties
: [NSObject : AnyObject])Objective C
+ (instancetype)atlasWithDictionary:(NSDictionary *)
properties
Параметры
properties
Словарь, определяющий, какие текстуры должны быть объединены в атлас.
Возвращаемое значение
Новый атлас текстуры.
Обсуждение
Обычно, XCode создает атласы текстуры во время компиляции из файлов образа, включенных в Ваш проект. Эти атласы скомпилированы и установлены в комплекте приложений. Однако иногда активы должны были создать атлас текстуры, не доступны во время компиляции. Например, те активы могли бы быть процедурно сгенерированы или загружены с сети. Однако Вы все еще хотите, чтобы преимущество атласов текстуры сократило количество изменений состояния, требуемых в аппаратных средствах. Можно использовать этот метод для генерации атласа во время выполнения. Когда Ваш игровой цикл не работает, это - потенциально дорогая работа, лучше всего выполняемая.
Ключи в словаре представляют имена отдельных текстур. Связанный объект для каждого ключа может быть:
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.10 и позже.
-
Создает текстуру из данных, хранивших в атласе текстуры.
Объявление
Параметры
name
Имя текстуры сохранено в атласе.
Возвращаемое значение
Текстура Набора Sprite связалась с именем. Если указанное изображение не существует в атласе, Набор Sprite возвращает изображение текстуры заполнителя.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также
-
Загрузите текстуры атласа в память, вызвав обработчик завершения после того, как завершится задача.
Объявление
Swift
func preloadWithCompletionHandler(_
completionHandler
: () -> Void)Objective C
- (void)preloadWithCompletionHandler:(void (^)(void))
completionHandler
Параметры
completionHandler
Загружается блок, вызванный после атласа текстуры.
Обсуждение
Набор Sprite создает фоновую задачу, загружающую данные текстуры из атласа. Затем Набор Sprite возвращает управление Вашей игре. После того, как атлас текстуры загружается, Ваш обработчик завершения вызывают.
Если необходимо предварительно загрузить многократные атласы текстуры сразу, используйте
preloadTextureAtlases:withCompletionHandler:
метод вместо этого.Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
Загружает текстуры многократных атласов в память, вызывая обработчик завершения после того, как завершится задача.
Объявление
Swift
class func preloadTextureAtlases(_
textureAtlases
: [AnyObject]!, withCompletionHandlercompletionHandler
: (() -> Void)!)Objective C
+ (void)preloadTextureAtlases:(NSArray *)
textureAtlases
withCompletionHandler:(void (^)(void))completionHandler
Параметры
textureAtlases
Массив
SKTextureAtlas
объекты.completionHandler
Загружается блок, вызванный после всех атласов текстуры.
Обсуждение
Набор Sprite создает фоновую задачу, загружающую данные текстуры изо всех указанных атласов. Затем Набор Sprite возвращает управление Вашей игре. После того, как атласы загружаются, Ваш обработчик завершения вызывают.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
-
textureNames textureNames
СвойствоИмена изображений текстуры сохранены в атласе. (только для чтения)
Объявление
Swift
var textureNames: [AnyObject] { get }
Objective C
@property(nonatomic, readonly) NSArray *textureNames
Обсуждение
Свойство содержит массив
NSString
объекты. Каждая строка является именем текстуры, сохраненной в атласе. Количество массива является числом текстур, сохраненных в атласе.Если атлас в настоящее время не загружается в память, этот метод вынуждает его быть загруженным из комплекта приложений. Ваши игровые блоки до атласа загружаются.
Оператор импорта
Objective C
@import SpriteKit;
Swift
import SpriteKit
Доступность
Доступный в OS X v10.9 и позже.
См. также