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

概览

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

一个SKSpriteNode实例是一个节点,可以绘制带图片,有色方块,经过颜色混合的图片。

类方法

创建一个新的实例

+ spriteNodeWithColor:size:

创建并返回一个有色的精灵。

+ (id)spriteNodeWithColor:(SKColor *)color size:(CGSize)size

参数 color:精灵的颜色
size:精灵的大小
返回值 一个创建好的并初始化好的精灵实例
+ spriteNodeWithImageNamed:

通过图片文件创建并返回一个纹理精灵。

+ (id)spriteNodeWithImageNamed:(NSString *)name

参数 name:放在项目中的图片文件的名字
返回值 一个创建好的并初始化好的精灵实例
+ spriteNodeWithTexture:

通过纹理实例创建并返回一个纹理精灵。

+ (id)spriteNodeWithTexture:(SKTexture *)texture

参数 texture:一个Sprite Kit纹理实例
返回值 一个创建好的并初始化好的精灵实例
+ spriteNodeWithTexture:size:

通过纹理实例创建并返回一个纹理精灵并制定大小。

+ (id)spriteNodeWithTexture:(SKTexture *)texture size:(CGSize)size

参数 texture:一个Sprite Kit纹理实例
size:精灵的大小
返回值 一个创建好的并初始化好的精灵实例

实例方法

初始化一个新的实例

- initWithColor:size:

使用颜色和大小初始化一个精灵。

- (id)initWithColor:(SKColor *)color size:(CGSize)size

参数 color:精灵的颜色
size:精灵的大小
返回值 一个新的初始化好的精灵实例

论述

通过这个方法返回的精灵实例,它的texture属性值为nil。

- initWithImageNamed:

使用图片文件初始化一个精灵。

- (id)initWithImageNamed:(NSString *)name

参数 name:放在项目中的图片文件的名字
返回值 一个新的初始化好的精灵实例

论述

这个方法会创建一个新的纹理实例,并且把这个实例分配给texture属性。精灵的size属性是由图片的大小来决定的。颜色属性为白色(1.0,1.0,1.0)。

- initWithTexture:

使用一个纹理实例初始化一个精灵。

- (id)initWithTexture:(SKTexture *)texture

参数 texture:一个Sprite Kit纹理
返回值 一个新的初始化好的精灵实例

论述

精灵的size属性是由纹理的大小来决定的。颜色属性为白色(1.0,1.0,1.0)。

- initWithImageTexture:color:size:

使用一个纹理实例和一个颜色初始化一个精灵。

- (id)initWithTexture:(SKTexture *)texture color:(SKColor *)color size:(CGSize)size

参数 texture:一个Sprite Kit纹理
color:精灵的颜色
size:精灵的大小
返回值 一个新的初始化好的精灵实例

论述

要给纹理混合颜色,你还需要设置精灵的colorBlendFactor属性。

属性

查看物理属性

size

精灵的大小。

@property(atomic) CGSize size

anchorPoint

精灵的参考点。

@property(atomic) CGPoint anchorPoint

论述

你指定一个位于单元坐标空间的值。默认值为(0.5,0.5),表示精灵的参考点在正中。

查看精灵的纹理

texture

精灵的纹理

@property(atomic, retain) SKTexture *texture

论述

如果该值为nil,精灵将会使用颜色属性绘制一个颜色矩形。否则,精灵将会绘制这个纹理。相关的属性影响了纹理的应用。

centerRect

定义了纹理是如何应用到精灵的。

@property(atomic) CGRect centerRect

论述

这个矩形在单元坐标空间中。默认值为(0,0)-(1.0,1.0),表示整个纹理被拉伸到充满精灵。如果指定一个不同的矩形,矩形的坐标会变成一个3X3网格。网格的四个角不经过缩放直接应用。它的上和中下部分将水平缩放,左和中右部分将垂直缩放。中心是所有方向缩放。

colorBlendFactor

一个浮点point,描述了颜色是怎样与纹理混合的。

@property(atomic) CGFloat colorBlendFactor

论述

该值必须在0.0到1.0之间。默认值为0.0,表示颜色属性将被忽视,纹理的值不做任何改变。如果是一个大于0.0的值,纹理将与颜色混合,然后再绘制到场景。

查看颜色属性

color

纹理的颜色

@property(atomic, retain) SKColor *color

论述

如果纹理属性非空,那么颜色的红绿蓝值将会混合到纹理,然后绘制到场景,alpha属性将被忽视。如果纹理属性为nil,那么颜色属性将会被用于绘制一个颜色矩形。

blendMode

将精灵绘制到父缓冲区的混合模式。

@property(atomic) SKBlendMode blendMode

论述

默认值为SKBlendModeAlpha。

iOS -- SKSpriteNode类的更多相关文章

  1. IOS 公共类-MyDateUtil 日期处理Util

    IOS 公共类-MyDateUtil 日期处理Util 此为处理日期的公共类.适用IOS6+ .h文件: #import <Foundation/Foundation.h> //适用 IO ...

  2. IOS 公共类-MyMBProgressUtil Progress显示

    IOS 公共类-MyMBProgressUtil Progress显示 此公共类用于显示提示框,对MBProgress的进一步封装.可以看下面的代码 接口: @interface MyMBProgre ...

  3. 一位iOS教育类应用开发者是如何赚到60多万美元?

    注:伯乐在线12月19日在@程序员的那些事 微博推荐了此文的英文原文,非常感谢@dotSlash 的翻译.  转眼距我写<我如何在iOS教育类应用中赚到20万美元>这篇博文已经一年多了,它 ...

  4. iOS -- SKTexture类

    SKTexture类 继承自 NSObject 符合 NSCodingNSCopyingNSObject(NSObject) 框架  /System/Library/Frameworks/Sprite ...

  5. iOS系类教程之用instruments来检验你的app

    比较了好多关于instruments 还是发现老外写的比较牛逼.于是果断翻译过来.有能力的的可以去看英文原版,鼓励大家看原版资料远离二手教程.这里是原文   入门 为了节省大家的时间,提供一个演示的D ...

  6. iOS方法类:CGAffineTransform的使用大概

    CoreGraphics框架中的CGAffineTransform类可用于设定UIView的transform属性,控制视图的缩放.旋转和平移操作: 另称放射变换矩阵,可参照线性代数的矩阵实现方式0. ...

  7. 006 [翻译] Haneke(一个Swfit iOS缓存类)

    Github项目地址:https://github.com/Haneke/HanekeSwift Haneke是一个用swift写成的轻量级iOS类,以简单好用著称(design-decisions- ...

  8. iOS 在类实现定义中声明成员变量的怪异方式

    WebGL 规范(WebGL Specification) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&quo ...

  9. iOS 日历类(NSCalendar)

    对于时间的操作在开发中很常见,但有时候我们需要获取到一年后的时间,或者一周后的时间.靠通过秒数计算是不行的.那就牵扯到另外一个日历类(NSCalendar).下面先简单看一下 NSDate let d ...

随机推荐

  1. POJ1719二分匹配

    第一次发文,就是一些学习的心得而已,自己忘得时候就可以来看看,好了废话不多说,直接说说这题的思路. 题意大概是每列只能射中一个白格子,每行可以射多个,让你输出这样的序列,明显的二分图求匹配,用列去选行 ...

  2. HDU 3488 KM Tour

    参考题解 这题注意有重边.. #include <cstdio> #include <cstring> #include <algorithm> using nam ...

  3. base64转图片

    y一个简单的工具类,附上: /** * @param imgStr 图片的base64 * @param path 将要生成的地址 * @return */ public static boolean ...

  4. java中,为什么char类型数组可以直接用数组名打印,打印结果居然不是地址值!

    char类型的数组就相当于一个字符串. 因为输出流System.out是PrintStream对象,PrintStream有多个重载的println方法,其中一个就是public void print ...

  5. selenium - 弹出框操作

    # 6. 弹出框操作 # 6.1 页面弹出框操作# 页面弹出框 是一个html页面的元素,由用户在页面的操作触发弹出# (1)执行触发操作之后,等待弹出框出现之后,# (2)再定位弹出框中的元素并操作 ...

  6. day03_10 注释及简单的用户输入输出

    单行注释# print ("我爱北京天安门") print ("我爱北京天安门") #print ("我爱北京天安门") #print (& ...

  7. Jeddict:从服务器的验证过程,思考学习新事物的套路

    结合一路研究Jeddict使用的过程经验来看,在这里说一下关于服务器配置的东西.在我们团队,最开始用这个插件的时候,因为公司用的应用服务器是Jboss EAP 7,所以,我们自然而然的,想当然的直接使 ...

  8. iOS学习笔记24-不断进化的屏幕适配

    一.屏幕适配 iOS的屏幕适配可以分为3大块,代表着不同时期的屏幕适配主流: AutoResizing:在iOS6之前,完全能够胜任,因为当时苹果只有3.5寸屏,加上比较少的支持横屏,它有非常大的局限 ...

  9. HDU——2056Rectangles(几何计算)

    Rectangles Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  10. spring分布式事务控制

    应用场景问题描述解决方法多数据源配置单元测试第一种方法:最大努力一次提交模式第二种方法:最大努力一次提交模式 但使用ChainedTransactionManagerChainedTransactio ...