强调两个单词以及框架说明:
视图:View
场景:Scene
框架:Sprite Kit
简称SK
,框架中的视图,就叫做SKView
;场景,叫做SKScene
等,SK
作为前缀被方便记忆。
本文只是前瞻,因此你只需要报着欣赏的态度去阅读即可,详细内容会在后文给出。
记住:动画和渲染都由SKView
对象执行。拿出你的iPhone或者iPad,屏幕就好比一个窗口(Window
),我们将视图(View
)放入进行内容渲染。作为一个视图(View
),从视图层级来说它当中的内容可以和其他视图联系起来。
假如你正在开发一款内容丰富的游戏,难道所有内容都放置在一个场景?这显然是一个”愚蠢”的做法,因此通常我们将游戏内容切分为多个场景(scene
),比如场景一用来打怪升级;场景二用于人物属性装备查看;场景三用于游戏商场购物等等,那么是谁来呈现场景呢?答案是SKScene
对象。场景一、二、三都是作为一个SKScene
对象存在。它执掌并渲染着自己场景中的内容,最有特色的要数sprites
精灵,当然还有其它内容。除此之外,场景还要实现每一帧的逻辑以及内容处理。总结下view
-scene
-sprites
的关系,任何时间View
一旦呈现了场景,那么场景中的动画以及每一帧的逻辑开启自动执行模式,即更新每一帧,无须你去手动更新管理,很方便不是嘛!
使用Sprite Kit
来开发一款游戏,你可以选择创建SKScene
的子类,或者任命一个场景委托(delegate
,代理?),以执行大型游戏中相关的任务(上文中提及逻辑以及内容处理都是由场景亲力亲为的)。举例来说:我们将游戏内容分为为多个场景:一个显示主菜单;一个是游戏主界面;一个是游戏结束界面。尽管有三个SKScene
对象,但是我们只需要一个SKView
来进行场景切换!谈到两个场景之间的切换,不得不提及SKTransition
类,那是相当帅气的!
注:
尽管只有一个SKView
,它却掌管着三个场景SKScene
,但是每次只能显示一个场景,当切换成另外场景时,先前显示的场景就会被释放掉!
原文地址:http://blog.csdn.net/colouful987/article/details/43888617