SKTextureAtlas类
继承自 | NSObject |
符合 | NSCoding NSObject(NSObject) |
框架 | /System/Library/Frameworks/SpriteKit.framework |
可用性 | 可用于iOS 7.0或者更晚的版本 |
声明于 | SKTextureAtlas.h |
参考指南 | Sprite Kit Progamming Guide |
概览
重要提示:这是一个初步的API或者开发技术文档。虽然已经审阅了本文档的技术准确性,但是它不是最终的版本。本机密信息仅适用于苹果开发者计划的注册会员。苹果提供这些机密信息来帮助你采用这些技术和编程接口。此信息如果有变更,根据本文档实现的软件应使用操作系统软件和最终文档测试。新版本的文档可能会拥有新的API或者技术。 |
一个纹理集实例是一个相关的纹理的集合。它是通过一个保存在app包中的纹理集来加载的。
使用纹理集可以使纹理的加载和使用更加高效。例如,如果你有一个屏幕需要绘制不同的纹理,Sprite Kit分开绘制这些纹理。如果所有的这些纹理来自同一个纹理集,那么Sprite Kit可以一次就把这些纹理全部绘制完。每当你有一些纹理总是在一起绘制,你应该把它们加到一个纹理集中。
要创建一个纹理集,需要使用Xcode。你添加一个.atlas扩展名的文件夹,然后将纹理集添加到这个文件夹中。当你的app开始构建时,Xcode构建纹理集并将它添加到app包中。编译好的纹理格式是私有的。更多信息请参考Texture Atlas Help。
通常情况下,你不需要使用纹理集类来访问保存在纹理集中的纹理。如果你加载一个保存在app包中的图片,Sprite Kit会首先在app包中寻找,如果没有它会自己到纹理集中寻找。当你需要明确地从纹理集中加载或者查看纹理集的内容时才需要使用纹理集类。
子类注意事项。
本类不能被继承。
方法
类方法
创建一个纹理集。
+ atlasNamed: |
通过app包种的数据创建一个纹理集。
+ (SKTextureAtlas *)atlasNamed:(NSString *)name
参数 | name:纹理集的名字,不需要.atlas扩展名 |
返回值 | 一个新的纹理集 |
论述
如果找不到这个纹理集,将会抛出一个异常。
实例方法
通过纹理集创建一个纹理。
- textureNamed: |
通过纹理集创建一个纹理。
- (SKTexture *)textureNamed:(NSString *)name
参数 | name:保存在纹理集中的纹理的名字 |
返回值 | 一个新的纹理,如果纹理集中没有此纹理,则返回nil |
加载和预加载纹理集数据
- preload: |
尝试将纹理集预加载到图形内存中。
- (void)preload
论述
当精灵绘制一个纹理集中的纹理时,纹理实例自动加载图片数据然后使图形硬件可用它。然而,这个加载过程是需要时间的。如果一帧中需要加载的纹理太多,这一帧将会花费很长时间来渲染,帧速率会降低。使用预加载可以使纹理加载遍布一系列的帧中。当一个纹理在不久的将来使用时,可以使用这个方法。
属性
查看纹理集
textureNames |
纹理集中纹理的名字。只读。
@property(nonatomic, readonly) NSArray *textureNames
论述
该属性保存一个数组,数组内容为NSString格式。每个字符串都是保存在集合中的纹理的名字。数组元素的个数就是纹理集中保存的纹理的个数。
SKTextureAtlas类的更多相关文章
- iOS -- SKTextureAtlas类
SKTextureAtlas类 继承自 NSObject 符合 NSCodingNSObject(NSObject) 框架 /System/Library/Frameworks/SpriteKi ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-2 创建熊猫类
当我们创建好项目文件后我们就可以开始一步一步的按照我们之前列入的清单来编写我们的游戏.现在就让我们来创建一个熊猫这个类Panda.swift.我们将采取分解的方式,一步一步的完成Panda.swift ...
- C++ 可配置的类工厂
项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...
- Android请求网络共通类——Hi_博客 Android App 开发笔记
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...
- ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core
背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...
- .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类
.NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
随机推荐
- C#敏感关键词过滤代码
System.Text.StringBuilder sb = new System.Text.StringBuilder(text.Length); string filter ...
- Pythonchallenge一起来闯关
http://www.pythonchallenge.com/是一个在线的python过关游戏,一共有33关.玩这个游戏对熟悉python用法及相关库的使用都很有好处. 目前做到了第九关.python ...
- Python django admin 替换表单控件
测试版本: Python 2.7 Django 1.6.2 models.py from django.db import models class Article(models.Model): ti ...
- element的height与width
关于一个element所有的高度宽度 ele.style.width,ele.style.height:操纵style样式.+"px" offsetWidth.offsetHeig ...
- jquery easy ui 学习 (7) TreeGrid Actions
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- day06
一.configparser模块 configparser用于处理特定格式的文件,其本质上是利用open来操作文件 1.获取所有节点 import configparser config = conf ...
- Python几种创建list的方法的效率对比
我们用 生成一个0到((1万倍n)-1)的list做例子 首先这种方式复杂度为平方级 ''' def test1(n): lst = [] for i in range(n*10000): lst = ...
- python3可变与不可变数据类型
Python3中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Dictionary(字典) Tuple(元组) Set(集合) 我理解的可变就是当一个变量创建 ...
- ppt怎么换背景图片|PPT换背景设置方法
PPT怎么换背景?PPT背景可谓是PPT幻灯片的灵魂,优美绚丽的PPT背景能为自己做的PPT幻灯片锦上添花.今天,格子啦小编就教大家PPT换背景的方法,让你不再羡慕别人所做PPT的美丽背景,也可以自己 ...
- python 列表 字典 读写文件:pickle模块的基本使用
python数据持久存储:pickle模块的基本使用(转载) 作者: pzxbc 出处: http://pzxbc.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保 ...