iOS -- SKTextureAtlas类
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格式。每个字符串都是保存在集合中的纹理的名字。数组元素的个数就是纹理集中保存的纹理的个数。
iOS -- SKTextureAtlas类的更多相关文章
- IOS 公共类-MyDateUtil 日期处理Util
IOS 公共类-MyDateUtil 日期处理Util 此为处理日期的公共类.适用IOS6+ .h文件: #import <Foundation/Foundation.h> //适用 IO ...
- IOS 公共类-MyMBProgressUtil Progress显示
IOS 公共类-MyMBProgressUtil Progress显示 此公共类用于显示提示框,对MBProgress的进一步封装.可以看下面的代码 接口: @interface MyMBProgre ...
- 一位iOS教育类应用开发者是如何赚到60多万美元?
注:伯乐在线12月19日在@程序员的那些事 微博推荐了此文的英文原文,非常感谢@dotSlash 的翻译. 转眼距我写<我如何在iOS教育类应用中赚到20万美元>这篇博文已经一年多了,它 ...
- SKTextureAtlas类
继承自 NSObject 符合 NSCodingNSObject(NSObject) 框架 /System/Library/Frameworks/SpriteKit.framework 可用性 可用 ...
- iOS系类教程之用instruments来检验你的app
比较了好多关于instruments 还是发现老外写的比较牛逼.于是果断翻译过来.有能力的的可以去看英文原版,鼓励大家看原版资料远离二手教程.这里是原文 入门 为了节省大家的时间,提供一个演示的D ...
- iOS方法类:CGAffineTransform的使用大概
CoreGraphics框架中的CGAffineTransform类可用于设定UIView的transform属性,控制视图的缩放.旋转和平移操作: 另称放射变换矩阵,可参照线性代数的矩阵实现方式0. ...
- 006 [翻译] Haneke(一个Swfit iOS缓存类)
Github项目地址:https://github.com/Haneke/HanekeSwift Haneke是一个用swift写成的轻量级iOS类,以简单好用著称(design-decisions- ...
- iOS 在类实现定义中声明成员变量的怪异方式
WebGL 规范(WebGL Specification) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&quo ...
- iOS 日历类(NSCalendar)
对于时间的操作在开发中很常见,但有时候我们需要获取到一年后的时间,或者一周后的时间.靠通过秒数计算是不行的.那就牵扯到另外一个日历类(NSCalendar).下面先简单看一下 NSDate let d ...
随机推荐
- EXCEL宏做数据拆分
用处:将大容量的EXCEL工作簿分解成若干个小的工作簿 Sub aa() For i = 1 To 8 Set nb = Workbooks.Add nb.SaveAs Filename:=ThisW ...
- loj2013 「SCOI2016」幸运数字
点分治+线性基 (为了这六个字窝调了一下午一晚上QAQ #include <iostream> #include <cstring> #include <cstdio&g ...
- webdriver高级应用- 高亮显示正在操作的页面元素
#encoding=utf-8 import unittest from selenium import webdriver import time def highLightElement(driv ...
- [java开发篇][dom4j模块] 遍历xml文件
http://blog.csdn.net/chenleixing/article/details/44353491 在android studio 导入dom4j库(build-gradle(Moud ...
- Welcome-to-Swift-08枚举 (Enumerations)
枚举为一系相关联的值定义了一个公共的组类型.同时能够让你在编程的时候在类型安全的情况下去使用这些值. 如果你对C语言很熟悉,你肯定知道在C语言中枚举类型就是一系列具有被指定有关联名称的的整数值.但在S ...
- mybatis读取oracle中blob
controller: byte[] blob = commonService.getPersonImage(bean.getIdCard()); String base64 = new String ...
- [暑假集训--数位dp]LightOj1205 Palindromic Numbers
A palindromic number or numeral palindrome is a 'symmetrical' number like 16461 that remains the sam ...
- 使用router.push()进行页面跳转的问题
看着官网的文档直接router.push()这样会报错router undefind,需要写成this.$router.push()才可以
- 【CF500D】New Year Santa Network(树上统计)
..]of longint; z:..]of extended; n,i,m,tot,x1:longint; ans,fenmu,y1:extended; procedure add(a,b:long ...
- 免费CSS鼠标样式代码大全
原文发布时间为:2008-08-01 -- 来源于本人的百度文章 [由搬家工具导入] http://5211.91.tc/sb.htm