![]()
SpriteKit框架是专门为创建游戏设计的。
简单的说,使用SpriteKit就是使用节点。SpriteKit节点都是SKNode的实例,或是它的一个子类。存在大量不同的子类:SKSpriteNode表示一幅图像或者一个彩色矩形。SKShapeNode绘制一条bezIEr路径,SKEffectNode向其子节点或其他一些子类应用例如模糊或色调之类的图像特效。
当我们希望制作使用SpriteKit的游戏时,要组装一个充满这些节点的场景,并将这些节点添加到一个场景中。场景用SKScene表示。
制作使用SpriteKit的App
1、创建一个单视图的应用程序。
2、添加SpriteKit框架。在左侧的项目导航器顶部选择此项目,然后在右侧主编机器里面向下滚动,直到找到linked Frameworks librarIEs。单击+按钮,并从出现的列表里选择SpriteKit Framework
3、将视图控制器的类改成当前类的名字。打开主故事板,将视图的类修改为SKVIEw。
4、添加代码,向该类的vIEwDIDLoad中添加如下代码:
import UIKitimport SpriteKit class spriteKitVIEwController: UIVIEwController { overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() let scene = SKScene(size:self.vIEw.bounds.size) scene.backgroundcolor = UIcolor.graycolor() let skVIEw = self.vIEw as! SKVIEw skVIEw.presentScene(scene) } }
运行程序,可以看到灰色背景。
SpriteKit游戏由场景组成,每个场景包含了构成游戏各组成部分的所有图形元素。可以认为场景类似于普通应用程序中的视图控制器——视图控制器负责向视图提供数据,对用户 *** 作作出回应,而场景负责创建合适的精灵,对用户输入做出回应。
上文中的方法 skVIEw.presentScene(scene)是直接呈现场景。也可以使用过渡呈现场景。注意,游戏的第一个场景通常是直接出现,木有过渡。
实现过渡的代码:
let TransitionOne = SKTransition.moveInWithDirection(SKTransitionDirection.Right,duration: 0.5) skVIEw.presentScene(scene,Transition: TransitionOne)
下面是一个示例,我们可以自定义一个SKScene的子类
import UIKitimport SpriteKitclass GameScene: SKScene { overrIDe func dIDMovetoVIEw(vIEw: SKVIEw) { self.scaleMode = .AspectFill let label = SKLabelNode(text: "I am rabbit") label.position = CGPoint(x: size.wIDth/2.0,y: size.height/2.0) self.addChild(label) }} import UIKitimport SpriteKitclass spriteKitVIEwController: UIVIEwController { overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() let scene = GameScene(size:self.vIEw.bounds.size) scene.backgroundcolor = UIcolor.graycolor() scene.scaleMode = .AspectFill let skVIEw = self.vIEw as! SKVIEw //let TransitionOne = SKTransition.moveInWithDirection(SKTransitionDirection.Right,duration: 0.5) skVIEw.presentScene(scene) }} 总结 以上是内存溢出为你收集整理的swift 快速奔跑的兔几 本节的内容是:SpriteKit第一讲全部内容,希望文章能够帮你解决swift 快速奔跑的兔几 本节的内容是:SpriteKit第一讲所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)