继承自 SKEffectNode:SKNode:UIResponder:NSObject
符合 NSCoding(SKNode)
NSCopying(SKNode)
NSObject(NSObject)
框架  /System/Library/Frameworks/SpriteKit.framework
可用性 可用于iOS 7.0或者更晚的版本
声明于 SKScene.h
参考指南 Sprite Kit Progamming Guide

概览

重要提示:这是一个初步的API或者开发技术文档。虽然已经审阅了本文档的技术准确性,但是它不是最终的版本。本机密信息仅适用于苹果开发者计划的注册会员。苹果提供这些机密信息来帮助你采用这些技术和编程接口。此信息如果有变更,根据本文档实现的软件应使用操作系统软件和最终文档测试。新版本的文档可能会拥有新的API或者技术。

一个SKScene实例表示一个游戏中的场景。一个场景节点通常是节点树中的根节点。节点树中的其他节点负责提供游戏内容,场景节点则负责渲染和显示。要显示一个场景,你需要先将它present到一个SKView实例中。

一个场景通过以下的处理来计算内容

1.场景调用update:方法。

2.场景执行其子节点的动作。

3.场景调用didEvaluateActions方法。

4.场景执行加入到场景中的物理体的物理模拟。

5.场景调用didSimulatePhysics方法。

子类节点

有时会创建场景类的子类。在子类场景中,要创景子类场景的内容以及执行逻辑。

方法

初始化一个场景

+ sceneWithSize:

创建并返回一个新的场景实例。

+ (SKScene *)sceneWithSize:(CGSize)size

参数 size:场景的大小
返回值 一个新的场景实例

论述

这个类方法创建一个新的场景并调用它的initWithSize:方法初始化这个场景。

- initWithSize

初始化一个新的场景实例。

- (id)initWithSize:(CGSize)size

参数 size:场景的大小
返回值 一个新的初始化好的场景实例

论述

这是类方法指定的初始化方法。

转变视图和场景的坐标系

- convertPointFromView:

将视图坐标系转成场景坐标系。

- (CGPoint)converPointFromView:(CGPoint)point

参数 point:视图坐标系中的一个点
返回值 这个点在场景坐标系中的位置

论述

在调用该方法之前,场景必须已经被加到视图中了。

- convertPointTOView:

将场景坐标系转成视图坐标系。

- (CGPoint)converPointToView:(CGPoint)point

参数 point:场景坐标系中的一个点
返回值 这个点在视图坐标系中的位置

论述

在调用该方法之前,场景必须已经被加到视图中了。

改变场景的大小

- didChangeSize:

当场景大小发生改变时调用该方法。

- (void)didChangeSize:(CGSize)oldSize

参数 oldSize:场景的原大小
返回值  

论述

这个方法通常会被子类重写。

检测场景的弹出改变。

- willMoveFromView:

该方法会在场景移出视图之前调用。

- (void)willMoveFromView:(SKView *)view

参数 view:持有该场景的视图
返回值  

论述

这个方法通常会被子类重写。

- didMoveToView:

该方法会在场景弹到视图上之后调用。

- (void)didMoveToView:(SKView *)view

参数 view:持有该场景的视图
返回值  

论述

这个方法通常会被子类重写。

执行动画循环

- update:

在场景中动作执行之前需要执行的更新。

- (void)update:(NSTimeInterval)currentTime

参数 currentTime:已经过去的时间,保证单调递增
返回值  

论述

不要直接调用这个方法,当场景加入到视图中,并且不是暂停状态时,它每一帧会被调用一次。你的场景子类应该重写这个方法,并执行一些需要的更新。

- didEvaluateActions

在场景中动作执行之后需要执行的更新。

- (void)didEvaluateActions

论述

不要直接调用这个方法,当场景加入到视图中,并且不是暂停状态时,它每一帧会被调用一次。你的场景子类应该重写这个方法,并执行一些需要的更新。

- didSimulatePhysics

在物理模拟执行之后需要执行的更新。

- (void)didSimulatePhysics

论述

不要直接调用这个方法,当场景加入到视图中,并且不是暂停状态时,它每一帧会被调用一次。你的场景子类应该重写这个方法,并执行一些需要的更新。

属性

查看视图相关属性

anchorPoint

场景原点在视图中的位置。

@property (atomic) CGPoint anchorPoint

论述

指定场景的坐标位置。默认值为(0,0),表示场景在视图矩形的左下角。

scaleMode

定义场景如何映射到视图。

@property (atomic) SKSceneScaleMode scaleMode

论述

场景的大小和弹它出来的视图大小不相同是有可能的。该属性定义了场景如何映射到视图。详细值参见Scene Scaling Modes部分。默认值为SKSceneScaleModeFill。

view

场景所在的视图。只读。

@property (atomic, weak, readonly) SKView *view

论述

要弹出场景,需要调用SKView类的presentScene:方法或者presentScene:transition:方法。

设置场景的背景色

backgroundColor

场景的背景色。

@property (atomic, retain) SKColor *backgroundColor

论述

默认值为一个灰色的颜色值(RGBA0.15,0.15,0.15,1.0)。

改变场景的大小

size

场景的大小。

@property (atomic) CGSize *size

场景中运行的物理世界

physicsWorld

场景中的物理世界。

@property (atomic, readonly) SKPhysicsWorld *physicsWorld

论述

所有的场景自动模拟添加物理体的节点的物理特性。通过这个属性可以获取场景的全局物理属性,比如重力加速度。

常量

决定场景的弹出模式

typedef NS_ENUM(NSInteger,

SKSceneScaleMode){

SKSceneScaleModeFill,

SKSceneScaleModeAspectFill,

SKSceneScaleModeAspectFit,

SKSceneScaleModeResizeFill

}

SKSceneScaleModeFill 场景的每个轴独立缩放,场景完全映射到视图中
SKSceneScaleModeAspectFill 场景中每个轴使用相同的缩放因子,保证视图被完全填充,场景可能被剪裁
SKSceneScaleModeAspectFit 场景中每个轴使用相同的缩放因子,保证整个场景可见
SKSceneScaleModeResizeFill 场景不缩放,场景自动调整大小以适应视图

SKScene类的更多相关文章

  1. iOS -- SKScene类

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

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

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

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

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

  4. Sprite Kit编程指南中文版下载

    下载地址:http://download.csdn.net/detail/xin814/6032573 关于Sprite Kit 重要提示:  这是API或开发技术的一个初版文档.虽然本文档的技术准确 ...

  5. IOS7学习之路三(UISpriteKit游戏开发SKNode)

    ios7新添加了自己的游戏开发框架UISpriteKit ,可以用此做一些2D的小游戏, 今天学习了一下SKNode的知识做一下笔记,以便以后查阅. 1.SKNode继承自UIResponder. 2 ...

  6. SpriteKit:检测当新场景显示以后

    Detecting When a New Scene Is Presented Sprite Kit在SKScene类中提供2个可以重载的方法用来检测当一个场景过渡出去或过渡进来的时候. 第一个方法是 ...

  7. Xcode的playground中对于SpriteKit物理对象的更新为何无效

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 为了便于SpriteKit中物理行为的调试,我们可以借助于Xc ...

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

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

  9. 一、MegaCli命令介绍

    一.MegaCli命令介绍 MegaCli是一款管理维护硬件RAID软件,可以用来查看raid信息等MegaCli 的Media Error Count: 0 Other Error Count: 0 ...

随机推荐

  1. 13个简单有用的android开发代码

    1:查看是否有存储卡插入 String status=Environment.getExternalStorageState(); if(status.equals(Enviroment.MEDIA_ ...

  2. Android之ListView/GridView 优化

    一.效率最低的getView实现 我们知道,ListView和GridView的显示都是通过Adapter的getView实现的. ListView/GridView数据量较小时,我们的处理方式一般是 ...

  3. Linux基本权限

    首先需要我们了解的是,权限(rwx)对于文件和目录的作用是不一样的 . 权限对文件的作用 r : 读取文件内容(cat , more , head , tail) w: 编辑.新增.修改文件内容(vi ...

  4. UIView之常用方法

    UIView之常用方法 将一个视图添加为子视图,并使之在最上面显示 -(void)addSubView:(UIView *)view; 将指定子视图移动到顶部 -(void)bringSubViewT ...

  5. ASP.NET菜鸟之路之实现新闻列表增删改

    背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. 网站介绍 根据视频的例子修改的方法,其中数据不经 ...

  6. C#实现的异步Socket服务器

    介绍 我最近需要为一个.net项目准备一个内部线程通信机制. 项目有多个使用ASP.NET,Windows 表单和控制台应用程序的服务器和客户端构成. 考虑到实现的可能性,我下定决心要使用原生的soc ...

  7. flvplayer.swf flv视频播放器使用方法

    今天由于网页上要加入一个视频文件,就研究了一下flv视频播放器flvplayer.swf      :   关于SewisePlayer  插件 演示例子链接   一.直接在html文件中加载: &l ...

  8. 用JavaScript判断横屏竖屏问题。JavaScript代码如下【转】

    /判断手机横竖屏状态: function hengshuping(){ if(window.orientation==180||window.orientation==0){ alert(" ...

  9. 好用的JQ图片特效jquery-poptrox-popup-galleries

    jQuery Poptrox – Popup galleries     Rate this (1 Vote) Download   Demo jQuery Poptrox Adds popup ga ...

  10. Renting Boats

    Description 长江游艇俱乐部在长江上设置了n 个游艇出租站1,2,…,n.游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇.游艇出租站i 到游艇出租站j 之间的租金为r( ...