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。
SKSpriteNode类的更多相关文章
- iOS -- SKSpriteNode类
SKSpriteNode类 继承自 SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) ...
- SKNode类
继承自 UIResponder:NSObject 符合 NSCodingNSCopyingNSObject(NSObject) 框架 /System/Library/Frameworks/Sprit ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- IOS 2D游戏开发框架 SpriteKit-->续(创建用户角色精灵--原创)
一.主要实现 今天spritekit实现创建玩家角色精灵(SKSpriteNode *), 增加角色精灵的手势操作,这里增加的手势计算方法与objective-c中是不一样的,因为objectiv ...
- Sprite Kit编程指南中文版下载
下载地址:http://download.csdn.net/detail/xin814/6032573 关于Sprite Kit 重要提示: 这是API或开发技术的一个初版文档.虽然本文档的技术准确 ...
- iOS Sprite Kit教程之滚动场景
iOS Sprite Kit教程之滚动场景 滚动场景 在很多的游戏中,场景都不是静止的,而是滚动的,如在植物大战僵尸的游戏中,它的场景如图2.26所示. 图2.26 植物大战僵尸 在图2.26中,用 ...
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-2 创建熊猫类
当我们创建好项目文件后我们就可以开始一步一步的按照我们之前列入的清单来编写我们的游戏.现在就让我们来创建一个熊猫这个类Panda.swift.我们将采取分解的方式,一步一步的完成Panda.swift ...
- Swift游戏实战-跑酷熊猫 06 创建平台类以及平台工厂类
这节内容我们一起学习下随机长度的踩踏平台的原理是怎么样的. 要点: 平台类 我们的平台类继承于SKNode,这样就能被添加进其它节点进而显示在场景中. 它有一个方法来创建平台,这个方法接收一个包含SK ...
- Swift游戏实战-跑酷熊猫 02 创建熊猫类
要点: 如何继承SKSpriteNode :子类必须调用SKSpriteNode的一个指定构造器 init(){ super.init(texture:texture,color:UIColor.wh ...
随机推荐
- Oracle数据表恢复
用于直接drop掉表的情况(plsql developer直接删掉表就是drop操作) 查删除的表select object_name,original_name,partition_name,typ ...
- NHibernate执行原生带sum的sql
可以自行查出想要的字段,并且返回的是model类型,可以点出所有的字段. 但是select 后面的字段名 必须有xml的字段名一模一样. ISession iSession = null; strin ...
- (转)一步一步学习PHP(5)——类和对象
OO的强大我不想再多说,如果你不认同OO,那么当你放眼当前流行的语言,有哪个又不支持OO的,也许这个很有说服力了吧. 在这一节中,我们就来看看在PHP中如何创建一个类和对象. 1. 创建类 在PHP中 ...
- $(document).ready(function(){}),$().ready(function(){})和$(function(){})三个有区别么
三者都是一样的,最完整的写法是:$(document).ready(function(){})ready() 函数仅能用于当前文档,因此无需选择器.所以document选择器可以不要,那么就可以写成: ...
- Linux svn一次增加多个文件并批量上传
命令行下操作svn没有使用界面形式的TortoiseSVN直观,但是不管怎样,命令行下操作svn还是有它的有点,如果你碰到一次需要svn add许多个文件怎么办?下面的命令可以帮助你解决这个问题 一次 ...
- 解决 asp.net 伪静态 IIS设置后 直正HTML无法显示的问题
asp.net+UrlRewriter来实现网站伪静态,实现伪静态有一些好处,比如对于搜索引擎更好收录页面,还有一个好处就是隐藏了真实地址的参数,所以有独立服务器的朋友,配置IIS实现伪静态功能,挺不 ...
- 【转】POJ题目分类
初级:基本算法:枚举:1753 2965贪心:1328 2109 2586构造:3295模拟:1068 2632 1573 2993 2996 图:最短路径:1860 3259 1062 2253 1 ...
- 自己写的一个banner动画
html <div class="nav" > <div class="nav_son" id="nav"> < ...
- DeDe调用body文章内容
{dede:sql sql='select * from dede_addonarticle where aid=3'} <div class="pageArea hide" ...
- C语言基础学习运算符-关系运算符
比较大小 首先,我们得先了解一下布尔类型.C语言的C99标准支持布尔类型,关键字为_Bool,用于表示逻辑值true与false.C语言用值1表示true, 用值0表示false.因此布尔类型实际上是 ...