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的数是一个未定义的行为,是一个编程错误。
SKView类的更多相关文章
- iOS --SKView类
SKView类 继承自 UIView:UIResponder:NSObject 符合 NSCoding(UIView)UIAppearance(UIView)UIAppearanceContainer ...
- SKScene类
继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) ...
- iOS -- SKScene类
SKScene类 继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- Sprite Kit编程指南(1)-深入Sprite Kit
深入Sprite Kit 学习Sprite Kit最好的方法是在实践中观察它.此示例创建一对场景和各自的动画内容.通过这个例子,你将学习使用Sprite Kit内容的一些基础技术,包括: · ...
- iOS Sprite Kit教程之真机测试以及场景的添加与展示
iOS Sprite Kit教程之真机测试以及场景的添加与展示 IOS实现真机测试 在进行真机测试之前,首先需要确保设备已经连在了Mac(或者Mac虚拟机)上,在第1.9.1小节开始,设备就一直连接在 ...
- iOS10 新特性-新功能,以及ReplayKit库
iOS的10.0 本文总结了iOS的10,运行于目前推出iOS设备推出的主要开发者相关的功能. iOS版10引入了新的方法来增加您的应用程序通过帮助系统参与在适当的时候建议你的应用程序给用户.如果你在 ...
- Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-2 创建熊猫类
当我们创建好项目文件后我们就可以开始一步一步的按照我们之前列入的清单来编写我们的游戏.现在就让我们来创建一个熊猫这个类Panda.swift.我们将采取分解的方式,一步一步的完成Panda.swift ...
- C++ 可配置的类工厂
项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...
随机推荐
- ajax请求aspx页面
首先,这么用是不好的.最好用ashx,但也难免遇到这种需求.开发过这么一个系统,每天访问量最多100,web服务器压力很小,完全大马拉小车,主要压力都在数据库服务器上,要做大量的统计.所以页面直接全上 ...
- Android 开发笔记——对应用进行单元测试
在实际开发中,开发android软件的过程需要不断地进行测试.而使用Junit测试框架,是正规Android开发的必用技术, 在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性. 第一 ...
- c - 字符串的反转
1,递归实现 // 递归实现字符串反转(可通过栈的调用来加深理解). char * reverse(char *c) { if(!c) return NULL; int len = strlen(c) ...
- java 安卓开发之文件的读与写
java文件的读与写,代码: String file="user.txt"; private void writeFileData(String str1, String str2 ...
- js 函数参数形式
1. var a = function(b,c){ console.log(arguments);}a("1","cc"); -> ["1&q ...
- ftp文件操作
PHP FTP操作类( 上传.拷贝.移动.删除文件/创建目录 ) 2016-06-01 PHP编程 /** * 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 ) */ class class_ ...
- extjs combobox 设置下拉时显示滚动条 设置显示条数
extjs在点击下拉时如果没有限制它的高度,那么它的默认最大高度是300,显示的时候就会显示300的高度,知道选项内容超过这个高度时才会自动显示滚动条,往往在有些时候我们希望让combobox显示一个 ...
- jQuery实现按Enter键触发事件?
按Enter触发 $(function(){ document.onkeydown = function(e){ var ev = document.all ? window.event : e; ) ...
- windows8.1 下搭建配置apache+php+mysql
软件版本: apache:Apache 2.4.10 Win64 http://www.apachelounge.com/download/VC11/binaries/httpd-2.4.10- ...
- Yii框架AR对象数据转化为数组
demo函数作用:将AR对象数据转化为数组 局限:仅用于findAll的多维数组,find一维数组可以先转化为多维数组的一个元素在使用 function actionIndex() { $data = ...