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

  1. iOS -- SKScene类

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

  2. IOS 公共类-MyDateUtil 日期处理Util

    IOS 公共类-MyDateUtil 日期处理Util 此为处理日期的公共类.适用IOS6+ .h文件: #import <Foundation/Foundation.h> //适用 IO ...

  3. IOS 公共类-MyMBProgressUtil Progress显示

    IOS 公共类-MyMBProgressUtil Progress显示 此公共类用于显示提示框,对MBProgress的进一步封装.可以看下面的代码 接口: @interface MyMBProgre ...

  4. 一位iOS教育类应用开发者是如何赚到60多万美元?

    注:伯乐在线12月19日在@程序员的那些事 微博推荐了此文的英文原文,非常感谢@dotSlash 的翻译.  转眼距我写<我如何在iOS教育类应用中赚到20万美元>这篇博文已经一年多了,它 ...

  5. iOS系类教程之用instruments来检验你的app

    比较了好多关于instruments 还是发现老外写的比较牛逼.于是果断翻译过来.有能力的的可以去看英文原版,鼓励大家看原版资料远离二手教程.这里是原文   入门 为了节省大家的时间,提供一个演示的D ...

  6. iOS方法类:CGAffineTransform的使用大概

    CoreGraphics框架中的CGAffineTransform类可用于设定UIView的transform属性,控制视图的缩放.旋转和平移操作: 另称放射变换矩阵,可参照线性代数的矩阵实现方式0. ...

  7. 006 [翻译] Haneke(一个Swfit iOS缓存类)

    Github项目地址:https://github.com/Haneke/HanekeSwift Haneke是一个用swift写成的轻量级iOS类,以简单好用著称(design-decisions- ...

  8. iOS 在类实现定义中声明成员变量的怪异方式

    WebGL 规范(WebGL Specification) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&quo ...

  9. iOS 日历类(NSCalendar)

    对于时间的操作在开发中很常见,但有时候我们需要获取到一年后的时间,或者一周后的时间.靠通过秒数计算是不行的.那就牵扯到另外一个日历类(NSCalendar).下面先简单看一下 NSDate let d ...

随机推荐

  1. Linux学习-核心编译的前处理与核心功能选择

    硬件环境检视与核心功能要求 根据自己的需求来确定编译的选项 保持干净原始码: make mrproper 我们还得要处理一下核心原始码底下的残留文件才行!假设我们是第一次 编译, 但是我们不清楚到底下 ...

  2. python偏函数使用

    偏函数依托于python functools模块.

  3. HDU 3639 SCC Hawk-and-Chicken

    求SCC缩点,统计出每个SCC中的点的个数. 然后统计能到达u的最多的点的个数,可以反向建图,再dfs一遍统计出来. 最后说一下,有必要开一个标记数组,因为测试数据中有重边,结果无限WA. #incl ...

  4. Java做爬虫也很方便

    首先我们封装一个Http请求的工具类,用HttpURLConnection实现,也可以用HttpClient, 或者直接用Jsoup来请求. 工具类实现比较简单,就一个get方法,读取请求地址的响应内 ...

  5. Selenium WebDriver- 操作JavaScript的Alert弹窗

    弹层和弹框是有区别的,弹框是那种完全没样式的框子:弹层是可以直接看到html的,有样式 #encoding=utf-8 import unittest import time from seleniu ...

  6. 在线安装ipa,超链接下载ipa

    在线安装ipa包其实是OTA实现,先粘一下OTA解释 OTA OTA即Over-the-Air,简单来说就是通过无线的方式发送指令给设备,具体针对iOS的设备,比如iphone .ipad等,让开发者 ...

  7. TOJ 4493 Remove Digits 贪心

    4493: Remove Digits Description Given an N-digit number, you should remove K digits and make the new ...

  8. 刷题总结——生产产品(vijo1243)

    题目: 描述 在经过一段时间的经营后,dd_engi的OI商店不满足于从别的供货商那里购买产品放上货架,而要开始自己生产产品了!产品的生产需要M个步骤,每一个步骤都可以在N台机器中的任何一台完成,但生 ...

  9. Gcd(bzoj 2818)

    Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. Input 一个整数N Output 如题 Sample Input 4 Sam ...

  10. 【BZOJ1018】堵塞的交通traffic(线段树,网格图,连通性)

    题意:一个2行C列的矩形网格图,网格上的每个点代表一个城市,相邻的城市之间有一条道路 一开始每条道路都是堵塞的,堵塞即为不可经过.经过一些操作后,可能某些道路通畅了,也可能某些道路堵塞了 多次询问,询 ...