原文鏈接:https://www.ioscreator.com/tutorials/display-background-with-spritekit-ios-tutorial-ios10
作者:Arthur Knopper
原文日期:2017/01/17
譯者:Crystal Sun
Sprite Kit 是硬件加速的動畫系統(tǒng),為創(chuàng)建 2D 游戲進(jìn)行了專門的優(yōu)化。在本節(jié)教程中寺酪,將使用 Game 模板來添加一張背景圖片谤牡。本節(jié)教程使用的是 Xcode 8.2.1 和 iOS 10.2溉愁。
打開 Xcode酪呻,選擇 iOS -> Application -> Game 模板挑胸。
Product Name 使用 SpriteKitBackgroundTutorial思恐,填寫自己的 Organization Name 和 Organization Identifier,Language 一欄選擇 Swift敛惊,Game Technology 一欄選擇 SpriteKit渊鞋,Devices 一欄選擇 iPhone。
本節(jié)教程需要一張圖片作為背景圖瞧挤,從這里下載圖片锡宋,添加到工程中,確保在添加時選擇 “Copy items if needed” 選項特恬。
在 Xcode 的 Game 模板中执俩,已經(jīng)做了很多初始化的工作。在 Sprite Kit 框架中癌刽,每個場景(scene)控制 App 的一屏(screen)役首。找到 GameViewController.swift 文件尝丐,在 GameViewController 類里,已經(jīng)定義好了 viewDidLoad 方法衡奥,在這個方法里創(chuàng)建場景爹袁,呈現(xiàn) GameScene 對象。將 viewDidLoad 方法代碼更改成如下所示:
override func viewDidLoad() {
super.viewDidLoad()
let scene = GameScene(size:CGSize(width: 1080, height: 1920))
let skView = self.view as! SKView
scene.scaleMode = .aspectFill
skView.presentScene(scene)
}
找到 GameScene.swift 方法矮固,已經(jīng)定義好了 GameScene 類失息,在 didMove 方法中,實現(xiàn)自定義的代碼档址。刪除 GameScene 類里面所有的代碼盹兢,然后添加 didMove 方法:
class GameScene: SKScene {
override func didMove(to view: SKView) {
let background = SKSpriteNode(imageNamed: "background.jpg")
background.position = CGPoint(x: size.width/2, y: size.height/2)
addChild(background)
}
}
Sprite Kit 框架有個指定的類來創(chuàng)建控制 sprite(精靈)(譯者注:sprite 是計算機圖形學(xué)的專有名詞,意為包含于場景中的二維圖像或動畫)守伸,就是 SKSpriteNode 類绎秒。在該節(jié)點(node)下,圖片加載完成尼摹。接下來见芹,將圖片添加到場景中。最后窘问,刪除 GameScene.sks 和 Action.sks 文件辆童,目前不需要這兩個文件宜咒。
運行工程惠赫。
可以從 github 上下載 SpriteKitBackgroundTutorial 教程的源代碼。
本文由 SwiftGG 翻譯組翻譯故黑,已經(jīng)獲得作者翻譯授權(quán)儿咱。