SpriteKit是蘋果平臺上獨有的遊戲框架,能夠在Mac OS X、iOS、tvOS上方便的開發2D遊戲應用,其上手簡單、對Swift語言支持良好。儘管在跨平臺方面不如人氣頗高的Cocos2D、Unity等跨平臺遊戲框架,可是若是隻是在iOS上製做2D遊戲來講,是學習成本最低的遊戲框架了。
接下來我將和你們一塊兒探索一下SpriteKit的奇妙世界編程
打開 Xcode,從主菜單中選擇File\New\Project...選擇iOS \Application\Game 模版並點擊Next。
輸入咱們的遊戲名ZombieConga,編程語言選擇Swift,遊戲技術選擇SpriteKit,設備選擇Universal。
如今咱們已經建立了一個Sprite Kit遊戲模版,如今咱們來運行一下這個模版
在Sprite Kit中,scene包括來你的app中的全部screen,scene是Sprite Kit中SKScene的子類,如今咱們的遊戲只有一個scene:GameScene,打開GameScene.swift咱們就能看到Hello world! Label和那些旋轉的飛船的代碼。如今咱們沒必要理解他們,咱們如今刪除這些代碼。僅保留以下內容:swift
import SpriteKit class GameScene: SKScene { override func didMoveToView(view: SKView) { backgroundColor = SKColor.blackColor() } }
didMoveToView()
方法是展示這個場景前的方法,在這裏咱們能夠方便的作一些初始化動做,此處咱們僅將背景設置爲黑色。
因爲咱們的遊戲須要橫屏,因此咱們在項目設置中,禁止豎屏
SpriteKit 模版會自動建立名爲GameScene.sks.
的文件,你能夠經過Xcode內置的編輯器編輯這個文件,就如同用InterfaceBuilder編輯界面同樣,咱們在這裏不使用它,因此刪除這個文件app
接下來打開GameViewController.swift
文件,替換爲以下內容框架
import UIKit import SpriteKit class GameViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let scene = GameScene(size:CGSize(width: 2048, height: 1536)) let skView = self.view as! SKView skView.showsFPS = true skView.showsNodeCount = true skView.ignoresSiblingOrder = true scene.scaleMode = .AspectFill skView.presentScene(scene) } override func prefersStatusBarHidden() -> Bool { return true } }
這樣咱們就改變了這個視圖控制器的初始化方式,先前它會經過讀取GameScene文件來初始化,修改後則是經過代碼來初始化。編程語言
這裏咱們看到場景的大小爲2048*1536,也就是iPad Air2的屏幕大小,這是爲了實現對小屏幕設備的適配
編輯器
iPad Retina [4:3 or 1.33]: Displayed as-is to fit the 2048x1536 screen size.ide
iPad Non-Retina [4:3 or 1.33]: Aspect fill will scale a 2048x1536 visible area by 0.5 to fit the 1024x768 screen.佈局
iPhone 4S [3:2 or 1.5]: Aspect fill will scale a 2048x1366 visible area by 0.47 to fit the 960x640 screen.學習
iPhone 5 [16:9 or 1.77]: Aspect fill will scale a 2048x1152 visible area by 0.56 to fit the 1136x640 screen.ui
iPhone 6 [16:9 or 1.77]: Aspect fill will scale a 2048x1152 visible area by 0.64 to fit the 1334x750 screen.
iPhone 6 Plus [16:9 or 1.77]: Aspect fill will scale a 2048x1152 visible area by 0.93 to fit the 1920x1080 screen.
打開Assets.xcassets
文件,刪除自帶的飛船圖片,隨後咱們添加本身的圖標及圖片
隨後咱們來設置Launch screen,與通常iOS應用開發同樣,咱們經過自動佈局,設置一個圖片相對四周距離爲0,設置圖片和填充方式
這樣咱們的遊戲框架就算作好了,下節咱們來開始作遊戲內容