【SpriteKit】 在iOS7中内置了新的SpriteKit框架,该框架主要用来开发2D游戏。是开发iOS和OS X 下的2D游戏引擎,可以使用OC或者Swift来进行开发。目前已经支持的内容包括:精灵、很酷的特效(例如视频、滤镜和遮罩),并且还集成了物理库等许多东西。首先指出在iOS中开发2D游戏SpriteKit并不是唯一的选择,我们先来看看SpriteKit的特点和优缺点:
1.特点: (1)提供了游戏引擎必备的图形渲染和动画API,可以通过这些API让精灵动起来; (2)使用传统的渲染和动画,允许在渲染每一帧之前处理该帧; (3)提供了声音播放; (4)提供的物理引擎; (5)与Xcode集成,可以更容易的创建基于Sprite Kit的游戏工程,调试也很方便; (6)可以使用Swift语言;
2.优点: (1)它是内置到iOS中的,因此并不需要下载额外的库或者其他的外部依赖,并且它是由苹果开发的,所以对他的支持和更新我们可以放心; (2)它内置的工具支持纹理和粒子; (3)它可以让你做一些其他框架难以做到的事情,例如把视频当做精灵一样处理,或者使用很酷的图形效果和遮罩。 3.缺点: (1)如果使用了SpriteKit,那么你将被iOS生态圈绑架,导致很难把游戏移植到Android等其他平台; (2)SpriteKit现在还处于初始阶段,提供的内容还不够丰富,例如Cocos2D,暂不支持自定义的OpenGL代码;
【SceneKit】 SceneKit(SK)是WWDC12推出的OS X平台的cocos 3D渲染引擎框架。支持粒子效果,物理模拟,脚本事件,多程渲染,支持iOS平台。SceneKit整合了Core Image,Core Animation之类的图形框架,现在还整合进了SpriteKit。 SceneKit是基于OpenGL构建的。
【Metal】 在iOS8中,苹果发布了一个新的接口叫做Metal,它是一个支持GPU加速的3D绘图API。Metal和OpenGL ES类似,也是一个底层API,负责和3D绘图硬件交互。可惜的是,Metal不是跨平台的。