SpriteKit当中的SKView类

作者: 弹吉他的少年 | 来源:发表于2018-11-07 09:35 被阅读10次
SpriteKit SKView类
继承自 UIView,UIResponder,NSObject
符合 NSCoding(UIView),UIAppearance(UIView),UIAppearanceContainer(UIView),UIDynamicItem(UIView),NSObject(NSObject)
框架 /System/Library/Frameworks/SpriteKit.framework
声明于 SKView.h
参考指南 Sprite Kit Progamming Guide

概览

一个SKView实例是一个显示Sprite Kit内容的视图。这个内容是由场景所提供的。

通过调用视图的presentScene:方法可以弹出一个场景。当一个场景被弹到视图上,它交替运行场景的模拟和场景的渲染。你可以通过将视图的pause属性设置为YES来暂停这个场景。

方法

弹出一个场景

- (void)presentScene:(SKScene *)scene
参数 解释
scene 待显示的场景

返回值

如果新场景存在,将直接替换旧场景。

弹出一个场景并播放一个过场动画。

- (void)presentScene:(SKScene *)scene transition:(SKTransition)transition
参数 解释
scene 待显示的场景
transition 两个场景之间的过场动画

返回值
如果视图当前有一个显示的场景,视图的场景属性将立即更新,然后执行过场动画来交换两个场景。否则,新场景将直接弹出,并且过场动画将被忽视。

从场景内容中获取图片
渲染并返回一个节点中的纹理。

- (SKTexture *)textureFromNode:(SKNode *)node
参数 解释
node 你想要绘制的纹理的节点实例

返回值

  • 持有渲染图片的纹理
    论述

节点不需要添加到场景中就可以被绘制。新纹理的大小是通过节点的calculateAccumulatedFrame方法计算得出的。如果这个节点不是一个场景,它将绘制一个背景色[SKColor clearColor]。

转换视图和场景的坐标系
将场景坐标系转换为视图坐标系。

- (CGPoint)convertPoint:(CGPoint)point fromScene:(SKScene *)scene
参数 解释
point 场景坐标系中的一个点
scene 一个场景

返回值

  • 这个点在视图坐标系中的位置

论述

这个方法转换坐标系上的点,使他就好像在视图坐标系上一样。

将视图坐标系转换为场景坐标系。

- (CGPoint)convertPoint:(CGPoint)point toScene:(SKScene *)scene
参数 解释
point 视图坐标系中的一个点
scene 一个场景

返回值

  • 这个点在场景坐标系中的位置

论述

这个方法转换坐标系上的点,使他就好像在场景坐标系上一样。

属性

属性名 属性 结果 论述
当前场景 scene 视图当前弹出的场景 默认值为nil。
暂停场景 paused 一个布尔值,表示视图中场景的动画是否暂停 如果该值为YES,那么场景的内容将固定在屏幕上。没有动作和物理模拟会被执行。
异步渲染 asychronous 一个布尔值,表示内容是否异步渲染 默认值为YES。如果该值为NO,那么视图内容和动画更新将是同步的。
显示调试信息 showsFPS 是否显示FPS 帧率是表现场景的一个很好的指标。尽量避免创建的场景的帧率差别过大。
绘制次数 showsDrawCount 是否显示绘制次数 Sprite Kit中的一些操作可能会需要多次绘制。例如,一个特效节点必须先将其子节点单独绘制到一个缓冲区,要使用这个特效,还需要将这些结果混合输出的父节点。这些额外的绘制次数会消耗更多地绘制资源,减少游戏的帧率或者增加总消耗。使用绘制次数可以从另一方面分析你游戏的性能。
节点个数 showsNodeCount 是否显示节点个数 -
定义帧率 frameInterval 场景更新之前必须经过的帧数 默认值为1,表示场景每帧更新一次。如果是一个大于1的是,场景的更新率可能是一个分数。例如,如果值为2,表示场景每隔一帧更新一次。将值设为一个小于1的数是一个未定义的行为,是一个编程错误。

相关文章

  • SpriteKit当中的SKView类

    概览 一个SKView实例是一个显示Sprite Kit内容的视图。这个内容是由场景所提供的。 通过调用视图的pr...

  • SKView简单使用

    SKView SKView是SpriteKit中的视图对象,通过添加SKScene显示出创建的内容。SKView显...

  • SpriteKit 使用

    Scene SpriteKit 是基于 Scene 来组织的,每个 SKView(专门用来呈现 SpriteKit...

  • SpriteKit-SKView(中文API)

    SKView 显示SpriteKit内容的对象。由SKSence提供。 概述 通过使用present​Scene(...

  • SpriteKit当中的SKPhysicsBody类

    概览 一个SKPhysicsBody实例被用于添加到节点上模拟一些物理特性。当场景开始处理新的一帧时,它在物理体上...

  • SpriteKit当中的SKAction类

    概览 一个SKAction实例是一个动作,通过SKScene场景中的节点来执行。动作可以绑定到节点上,用以改变节点...

  • iOS用SpriteKit写动画

    这个类要放在skview上 ————> /* Setup your scene here */ - (void)a...

  • SKScene

    SKScene 场景类 前缀为SK是SpriteKit的缩写。SKScene是SpriteKit树节点(SKNod...

  • Spritekit学习

    sprite kit学习总结,以下简称sk 在sk中所有的动画,渲染都由skview对象执行 在skview绘制需...

  • SpriteKit从0到入门

    SpriteKit(0) - 序言SpriteKit(1) - 坐标系SpriteKit(2) - 场景过渡动画S...

网友评论

    本文标题:SpriteKit当中的SKView类

    本文链接:https://www.haomeiwen.com/subject/fpsmxqtx.html