初探 Swift SPriteKit

2 篇文章 0 订阅

标签: iOS Swift Sprite


SpriteKit 体系结构(重要的几个类)

SpriteKit.framework 结构
SpriteKit 在 iOS7 OSX10.9 中引入。专为为创建游戏时设计,针对二维图形的渲染和动画制作进行了大幅优化。
性能高于 UIKit 除了图形图像功能外,内置的二维图像引擎还负责碰撞检测、碰撞解决和刚体模拟等。

  • SKView 负责呈现SPriteKit的内容。呈现 SKScence。继续自 UIView。
  • SKScence 节点树(noteTree)和精灵(Sprites)以及的其他内容的根节点。
  • SKNote 节点基类
  • SKSpriteNote SKNote 的子类

    节点包含在一个 Spritekit 视图中
    节点可以作为其他节点的子节点
    节点将图形渲染为试图(取决于类型)
    节点都是SKNote 的实例或是子类。
    SKSpriteNode 表示一副图像或者一个彩色的矩形
    SKShapNode 绘制一条贝塞尔曲线
    SKEffetNode 负责像其他节点或其他一些子类应用诸如模糊或色调之类的图像特效
    使用时添加 Spritekit.framework 到项目中

  • SKTexture 可重复使用的图片材质贴图

  • SKAction 当节点内容改变后进行相应的行为控制
  • SKPhysicBody 为对象附加物理属性

使用 SPriteSkit 场景

SPriteKit 游戏由场景(SKSence)组成。每个场景包含了构成游戏的组成部分的所有的图形元素。可以认为等同于 ViewController。
SKScence 由 SKView 呈现

        let sence = SKScene(size: self.view.bounds.size)
        sence.backgroundColor = UIColor.greenColor()
        let skView = self.view as! SKView
        skView.presentScene(sence)

场景之间的切换使用过度来完成(第一个场景一般不需要过渡)
过渡使用 SKtransition 类的实例进行过渡。
SKTransition 类型枚举

enum SKTransitionDirection : Int {

    case Up
    case Down
    case Right
    case Left
}

过渡风格举例

 class func crossFadeWithDuration(sec: NSTimeInterval) -> SKTransition

    class func fadeWithDuration(sec: NSTimeInterval) -> SKTransition

    class func fadeWithColor(color: UIColor, duration sec: NSTimeInterval) -> SKTransition
    class func flipHorizontalWithDuration(sec: NSTimeInterval) -> SKTransition
    class func flipVerticalWithDuration(sec: NSTimeInterval) -> SKTransition

遵循协议
SKPhysicsContactDelegate

- didBeginContact: 当两个物体开始接触(碰撞)回调此方法
- didEndContact:    当两个物体完成接触(碰撞)回调此方法

SKSceneDelegate

- update:forScene:
- didEvaluateActionsForScene:
- didSimulatePhysicsForScene:
- didApplyConstraintsForScene:
- didFinishUpdateForScene:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值