iOS -- SKSpriteNode类
| 继承自 | 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类的更多相关文章
- 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万美元>这篇博文已经一年多了,它 ...
- iOS -- SKTexture类
SKTexture类 继承自 NSObject 符合 NSCodingNSCopyingNSObject(NSObject) 框架 /System/Library/Frameworks/Sprite ...
- 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 ...
随机推荐
- [转载] C语言细节,写的非常棒!
这篇文章主要讨论C语言细节问题.在找一份工作的时候,语言细节占的比例非常小,之前看某个贴着讨论,估计语言细节在面试中,占了10%的比重都不到,那为什么还要研究C语言的细节呢,我觉得有三个原因促使我总结 ...
- STM8S与IAR程序常用错误
一.IAR中的重复定义问题 在自己写头文件时,要记得将常量定义在.c文件中,如果将常量定义在.h文件中,当在main.c或者其他地方包含该头文件时,会将头文件中的常量定义包 含到main.c中,同时, ...
- SPOJ375 Query on a tree(树链剖分)
传送门 题意 给出一棵树,每条边都有权值,有两种操作: 把第p条边的权值改为x 询问x,y路径上的权值最大的边 code #include<cstdio> #include<algo ...
- hdu3487Play with Chain
Play with Chain Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- spring AOP详解四
AOP(Aspect Orient Programming),作为面向对象编程的一种补充,广泛应用于处理一些具有横切性质的系统级服务,如事务管理.安全检查.缓存.对象池管理等.AOP 实现的关键就在于 ...
- 【转】深入JVM系列(一)之内存模型与内存分配
http://lovnet.iteye.com/blog/1825324 一.JVM内存区域划分 大多数 JVM 将内存区域划分为 Method Area(Non-Heap),Heap,Progr ...
- PHP杂技(一)
逻辑运算符 &&和& ||和|的部分区别 返回结果类型不同, A||B 如果A为真那么B不会做判断,而A|B前后都做判断 switch判断中并不是===,更像是==,例如(1) ...
- 【bzoj2521】[Shoi2010]最小生成树 网络流最小割
题目描述 Secsa最近对最小生成树问题特别感兴趣.他已经知道如果要去求出一个n个点.m条边的无向图的最小生成树有一个Krustal算法和另一个Prim的算法.另外,他还知道,某一个图可能有多种不同的 ...
- hihoCoder #1656 前后缀查询
题目大意 给定 $n$($n\le 50000$) 个由小写英文字母构成的字符串,每个串的长度不超过 10,每个串有一个权值 $v$ ($1\le v\le 100000$). 回答 $m$($m\l ...
- Codeforces Round #345 (Div. 2)——A. Joysticks(模拟+特判)
A. Joysticks time limit per test 1 second memory limit per test 256 megabytes input standard input o ...