iOS --SKView类
SKView类
继承自 | UIView:UIResponder:NSObject |
符合 | NSCoding(UIView) UIAppearance(UIView) UIAppearanceContainer(UIView) UIDynamicItem(UIView) NSObject(NSObject) |
框架 | /System/Library/Frameworks/SpriteKit.framework |
可用性 | 可用于iOS 7.0或者更晚的版本 |
声明于 | SKView.h |
参考指南 | Sprite Kit Progamming Guide |
概览
重要提示:这是一个初步的API或者开发技术文档。虽然已经审阅了本文档的技术准确性,但是它不是最终的版本。本机密信息仅适用于苹果开发者计划的注册会员。苹果提供这些机密信息来帮助你采用这些技术和编程接口。此信息如果有变更,根据本文档实现的软件应使用操作系统软件和最终文档测试。新版本的文档可能会拥有新的API或者技术。 |
一个SKView实例是一个显示Sprite Kit内容的视图。这个内容是由场景所提供的。
通过调用视图的presentScene:方法可以弹出一个场景。当一个场景被弹到视图上,它交替运行场景的模拟和场景的渲染。你可以通过将视图的pause属性设置为YES来暂停这个场景。
方法
弹出场景
- presentScene: |
弹出一个场景
- (void)presentScene:(SKScene *)scene
参数 | scene:待显示的场景 |
返回值 |
论述
如果新场景存在,将直接替换旧场景。
- presentScene:transition: |
弹出一个场景并播放一个过场动画。
- (void)presentScene:(SKScene *)scene transition:(SKTransition)transition
参数 | scene:待显示的场景 transition:两个场景之间的过场动画 |
返回值 |
论述
如果视图当前有一个显示的场景,视图的场景属性将立即更新,然后执行过场动画来交换两个场景。否则,新场景将直接弹出,并且过场动画将被忽视。
从场景内容中获取图片
- textureFromNode: |
渲染并返回一个节点中的纹理。
- (SKTexture *)textureFromNode:(SKNode *)node
参数 | node:你想要绘制的纹理的节点实例 |
返回值 | 持有渲染图片的纹理 |
论述
节点不需要添加到场景中就可以被绘制。新纹理的大小是通过节点的calculateAccumulatedFrame方法计算得出的。如果这个节点不是一个场景,它将绘制一个背景色[SKColor clearColor]。
转换视图和场景的坐标系
- converPoint:fromScene: |
将场景坐标系转换为视图坐标系。
- (CGPoint)convertPoint:(CGPoint)point fromScene:(SKScene *)scene
参数 | point:场景坐标系中的一个点 scene:一个场景 |
返回值 | 这个点在视图坐标系中的位置 |
论述
这个方法转换坐标系上的点,使他就好像在视图坐标系上一样。
- converPoint:toScene: |
将视图坐标系转换为场景坐标系。
- (CGPoint)convertPoint:(CGPoint)point toScene:(SKScene *)scene
参数 | point:视图坐标系中的一个点 scene:一个场景 |
返回值 | 这个点在场景坐标系中的位置 |
论述
这个方法转换坐标系上的点,使他就好像在场景坐标系上一样。
属性
当前场景
scene |
视图当前弹出的场景。
@property (nonatomic, readnoly) SKScene *scene
论述
默认值为nil。
暂停场景
paused |
一个布尔值,表示视图中场景的动画是否暂停。
@property (nonatomic, getter=isPaused) BOOL paused
论述
如果该值为YES,那么场景的内容将固定在屏幕上。没有动作和物理模拟会被执行。
异步渲染
asychronous |
一个布尔值,表示内容是否异步渲染。
@property(getter=isAsychronous) BOOL asychronous
论述
默认值为YES。如果该值为NO,那么视图内容和动画更新将是同步的。
显示调试信息
showsFPS |
是否显示FPS。
@property(nonatomic) BOOL showsFPS
论述
帧率是表现场景的一个很好的指标。尽量避免创建的场景的帧率差别过大。
showsDrawCount |
是否显示绘制次数。
@property(nonatomic) BOOL showsDrawCount
论述
Sprite Kit中的一些操作可能会需要多次绘制。例如,一个特效节点必须先将其子节点单独绘制到一个缓冲区,要使用这个特效,还需要将这些结果混合输出的父节点。这些额外的绘制次数会消耗更多地绘制资源,减少游戏的帧率或者增加总消耗。使用绘制次数可以从另一方面分析你游戏的性能。
showsNodeCount |
是否显示节点个数。
@property(nonatomic) BOOL showsNodeCount
定义帧率
frameInterval |
场景更新之前必须经过的帧数。
@property(nonatomic) NSInteger frameInterval
论述
默认值为1,表示场景每帧更新一次。如果是一个大于1的是,场景的更新率可能是一个分数。例如,如果值为2,表示场景每隔一帧更新一次。
将值设为一个小于1的数是一个未定义的行为,是一个编程错误。
iOS --SKView类的更多相关文章
- iOS -- SKScene类
SKScene类 继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject ...
- 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系类教程之用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 ...
随机推荐
- Linux学习-YUM 在线升级机制
这个 yum 是透过分析 RPM 的标头资料后, 根据 各软件的相关性制作出属性相依时的解决方案,然后可以自动处理软件的相依属性问题,以解决软件 安装或移除与升级的问题. 利用 yum 进行查询.安装 ...
- Centos启动时停止在登录界面但不显示登录信息(一直在转圈)
进入单用户模式 执行 iscsiadm -m node -o delete,然后reboot
- install redis and used in golang on ubuntu 14.04
$ wget http://download.redis.io/releases/redis-3.0.3.tar.gz$ tar xzf redis-3.0.3.tar.gz$ cd redis-3. ...
- poj 3281 Dining(网络流+拆点)
Dining Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 20052 Accepted: 8915 Descripti ...
- SVN 删除所有目录下的“.svn”文件夹,让文件夹脱离SVN控制
SVN 删除所有目录下的“.svn”文件夹,将如下语句拷备到记事本,并保存为 *.reg,双击导入注册表,在文件夹右键中就多了一条“Delete SVN Folders”,点击就可以删处此目录下的所有 ...
- react技术栈实践(2)
本文来自网易云社区 作者:汪洋 这时候还没完,又有两个问题引出来了. 按照上面的配置,第三方库 antd 竟然也被编译了,导致样式失败. react中,一旦包裹了子组件,子组件没办法直接使用 styl ...
- [python IO学习篇] 补充中文编码
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386820066616a7 ...
- Wannafly挑战赛5
珂朵莉与宇宙 时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 65536K,其他语言131072K64bit IO Format: %lld 题目描述 星神是来自宇宙的 所以珂朵莉也是吧 ...
- 区别Transform、Transition、Animation
另一篇参考文章:http://www.7755.me/Article/CSS3/39/ 近来上班之外就是研究研究CSS动画,下面是第一阶段总结.话说为加强记忆,实则想抛砖引玉! 标题直译一下就是: ...
- pat 1036
1036. 跟奥巴马一起编程(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 美国总统奥巴马不仅呼吁所有人 ...