继承自 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类的更多相关文章

  1. iOS --SKView类

    SKView类 继承自 UIView:UIResponder:NSObject 符合 NSCoding(UIView)UIAppearance(UIView)UIAppearanceContainer ...

  2. SKScene类

    继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) ...

  3. iOS -- SKScene类

      SKScene类 继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject ...

  4. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  5. Sprite Kit编程指南(1)-深入Sprite Kit

    深入Sprite Kit 学习Sprite Kit最好的方法是在实践中观察它.此示例创建一对场景和各自的动画内容.通过这个例子,你将学习使用Sprite Kit内容的一些基础技术,包括: ·      ...

  6. iOS Sprite Kit教程之真机测试以及场景的添加与展示

    iOS Sprite Kit教程之真机测试以及场景的添加与展示 IOS实现真机测试 在进行真机测试之前,首先需要确保设备已经连在了Mac(或者Mac虚拟机)上,在第1.9.1小节开始,设备就一直连接在 ...

  7. iOS10 新特性-新功能,以及ReplayKit库

    iOS的10.0 本文总结了iOS的10,运行于目前推出iOS设备推出的主要开发者相关的功能. iOS版10引入了新的方法来增加您的应用程序通过帮助系统参与在适当的时候建议你的应用程序给用户.如果你在 ...

  8. Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-2 创建熊猫类

    当我们创建好项目文件后我们就可以开始一步一步的按照我们之前列入的清单来编写我们的游戏.现在就让我们来创建一个熊猫这个类Panda.swift.我们将采取分解的方式,一步一步的完成Panda.swift ...

  9. C++ 可配置的类工厂

    项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...

随机推荐

  1. ASP.NET5 静态文件

    静态文件,包括HTML文件,CSS文件,图像文件和JavaScript文件,它是一个应用里所包含的资源. 1. 提供静态文件 默认的,静态文件存储在你的webroot目录下面,webroot的路径定义 ...

  2. (转)Android Touch事件传递机制

    -----来源:http://www.trinea.cn/android/touch-event-delivery-mechanism/ 介绍Android Touch事件的传递机制. 不少朋友私信问 ...

  3. mac在 aliyun linux ecs实例上安装 jdk tomcat mysql

    用了一个ftp 工具 把 gz rpm 等 传递到ecs 上 -- 用这个Transmit 用ssh远程登录,然后依次安装 jdk tomcat  mysql 到 /usr/local/... 设置环 ...

  4. SQLServer2008收缩数据库日志

    -- Set to SIMPLE mode ALTER DATABASE [DATABASE_NAME] SET RECOVERY SIMPLE; -- Shrink the db ); -- Set ...

  5. web前端对上传的文件进行类型大小判断的js自定义函数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. vs2012快捷键

    (1)自己整理的使用频率最高的快捷键(建议大家亲身体验一下!这样才会在潜移默化中运用得到!) (这里省去了很多大家闭上眼都会操作的什么Ctrl+S 等等操作 给出的大多是不常用但是很有用的快捷键组合! ...

  7. [转]Java中byte与16进制字符串的互相转换

    Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符, ...

  8. [转载]Java synchronized详解

    在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题.在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用.我们首先编写一 ...

  9. 【USACO 2.3.1】最长前缀

    [题目描述] 在生物学中,一些生物的结构是用包含其要素的大写字母序列来表示的.生物学家对于把长的序列分解成较短的序列(即元素)很感兴趣. 如果一个集合 P 中的元素可以通过串联(元素可以重复使用,相当 ...

  10. Reverse Interger

    Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 Have you ...