zoukankan      html  css  js  c++  java
  • iOS -- SKTexture类

    SKTexture类

    继承自 NSObject
    符合 NSCoding
    NSCopying
    NSObject(NSObject)
    框架  /System/Library/Frameworks/SpriteKit.framework
    可用性 可用于iOS 7.0或者更晚的版本
    声明于 SKTexture.h
    参考指南 Sprite Kit Progamming Guide

    概览

    重要提示:这是一个初步的API或者开发技术文档。虽然已经审阅了本文档的技术准确性,但是它不是最终的版本。本机密信息仅适用于苹果开发者计划的注册会员。苹果提供这些机密信息来帮助你采用这些技术和编程接口。此信息如果有变更,根据本文档实现的软件应使用操作系统软件和最终文档测试。新版本的文档可能会拥有新的API或者技术。

    一个SKTexture实例代表一个可复用的图片,通常用在SKSpriteNode中。重用纹理实例使Sprite Kit处理和渲染精灵更有效率。

    你可以通过保存在app包中的图片文件,Quartz图片,原始像素数据来创建纹理。你也可以通过使用一个CG滤镜在原纹理的基础上创建一个新的纹理,或者用一个纹理的部分区域创建新纹理。

    如果你频繁地使用一组纹理,不要分开加载这些图片。你可以使用一个纹理集来创建这些纹理。使用纹理集通常可以降低总内存以及提升渲染性能。

    子类注意事项

    这个类不能被继承。

    方法

    类方法

    创建一个新的纹理实例。

    + textureWithImageNamed:

    通过一个在app包中的图片文件创建纹理。

    + (SKTexture *)textureWithImageNamed:(NSString *)name

    参数 name:图片文件的名字
    返回值 一个新的纹理实例

    论述

    纹理第一次渲染到场景的时候,纹理图片的数据自动加载。

    Sprite Kit根据一个指定的文件名,在app包中寻找这个图片。如果找不到这个图片,Sprite Kit在app包得中任何一个纹理集中寻找。如果包中的任何位置都找不到这个图片,Sprite Kit将创建一个图片占位符。

    + textureWithImage:

    通过一个NSImage实例创建纹理。

    + (SKTexture *)textureWithImage:(NSImage *)image

    参数 image:一个NSImage实例
    返回值 一个新的纹理实例
    + textureWithCGImage:

    通过一个Quartz 2D图片创建纹理。

    + (SKTexture *)textureWithCGImage:(CGImageRef)image

    参数 image:一个CGImageRef实例
    返回值 一个新的纹理实例

    论述

    图片数据将会被复制到新的纹理实例中。

    + textureWithData:size:

    通过原始像素数据创建纹理。

    + (SKTexture *)textureWithData:(NSData *)pixelData size:(CGSize)size

    参数 pixelData:一个NSData实例,必须是32色,颜色应该已乘过alpha
    size:纹理的大小
    返回值 一个新的纹理实例

    论述

    图片数据将会被复制到新的纹理实例中。

    + textureWithData:size:rowLength:alignment:

    通过自定义格式的原始像素数据创建纹理。

    实例方法

    创建一个新的纹理实例

    - textureByApplyingCIFilter:

    - (SKTexture *)textureByApplyingCIFilter:(CIFilter *)filter

    参数 filter:一个CG滤镜需要一个单独的输入图片和单独的输出图片
    返回值 一个新的纹理实例

    查看纹理的属性

    - size

    纹理的大小。

    - (CGSize)size

    参数  
    返回值 纹理的尺寸
    - textureRect

    一个矩形,定义了纹理用于渲染的部分。

    - (CGRect)textureRect

    参数  
    返回值 一个矩形,以单元坐标空间表示

    论述

    默认值是矩形覆盖整个纹理(0,0)-(1,1)。你可以直接设置这个值。如果只是要使用纹理的一部分,调用textureWithRect:inTexture:方法来创建一个新的纹理。

    加载和卸载纹理

    - preload

    预加载纹理图片。

    - (void)preload

    论述

    当精灵绘制一个纹理时,纹理实例自动加载图片数据然后使图形硬件可用它。然而,这个加载过程是需要时间的。如果一帧中需要加载的纹理太多,这一帧将会花费很长时间来渲染,帧速率会降低。使用预加载可以使纹理加载遍布一系列的帧中。当一个纹理在不久的将来使用时,可以使用这个方法。

    常量

    typedef NS_ENUM(NSInteger,

    SKTextureFilteringMode){

    SKTextureFilteringNearest,

    SKTextureFilteringLinear,

    }

    SKTextureFilteringNearest 每个像素点使用最近的像素点绘制,速度较快,结果通常是像素化的。
    SKTextureFilteringLinear 每个像素使用一个多个像素的线性滤镜,质量较高,速度较慢。

     
     
  • 相关阅读:
    ghm一般规则
    沃尔玛强推RFID内外交困:供应商阳奉阴违
    电子商务物流解决方案
    database url
    物流中新技术应用的必要性
    美国物流管理协会更名标志全球物流进入供应链时代
    业内专家激辩物流挑战与机遇
    问的智慧
    调查报告:2003年物流信息化现状及挑战
    查找在菜单里提交的报表所在职责
  • 原文地址:https://www.cnblogs.com/mafeng/p/7561734.html
Copyright © 2011-2022 走看看