iOS Sprite Kit教程之真機測試以及場景的添加與展現

iOS Sprite Kit教程之真機測試以及場景的添加與展現

IOS實現真機測試

在進行真機測試以前,首先須要確保設備已經連在了Mac(或者Mac虛擬機)上,在第1.9.1小節開始,設備就一直鏈接在Mac(或者Mac虛擬機)上,而且此設備就是註冊過的。打開建立的項目,在運行按鈕一欄中,將程序運行的設備設置爲真機的名稱。它會自動加載到「選擇程序運行的設備」這一項中,如圖1.102所示。單擊運行按鈕,就能夠看到應用程序在真機上運行了。編程

1.102  設置設備swift

Sprite Kit的場景

玩家在移動設備或者是在電腦上進入一個遊戲後,出如今屏幕上的內容被稱爲場景,如圖2.1所示。在遊戲中,場景就是一個關卡,或者是一個遊戲界面。這樣的一個一個的場景就組成了一個遊戲。本章將講解如何實現場景的添加、顯示、設置、切換以及場景的滾動等內容。框架

2.1  場景編程語言

Sprite Kit添加場景

在一個遊戲中,可能由一個或者多個場景組成,具體須要根據遊戲的設計要求來決定。那麼場景是如何進行添加的呢?這就是本節將要解決的問題。添加一個新的場景的具體步驟以下:ide

1單擊Xcode,彈出Welcome to Xcode對話框。選擇Create a new Xcode project選項,彈出Choose a template for your new project:對話框,如圖2.2所示。測試

2.2  建立項目1spa

2選擇iOS|Application中的Game模板,單擊Next按鈕後,彈出Choose options for your new project:對話框,如圖2.3所示。設計

2.3  建立項目2code

3填入Product Name(項目名)、Organization Identifier(標識符)信息以及選擇Language(編程語言)和設備Devices(設備),如表2-1所示。orm

2-1  填寫的內容

4單擊Next按鈕,彈出保存位置對話框架,單擊Create按鈕。此時,一個名爲2-1的項目就建立好了。

5單擊項目名稱,打開目標窗口,選擇General選項,打開General面板。在其中找到Device Orientation選項,選擇其中的Landscape LeftLandscape Right單選框。讓運行的模擬器方向變爲橫向,如圖2.4所示。

2.4  修改設備的方向

6選擇菜單欄上的File|New|File命令,如圖2.5所示。

2.5  添加新場景1

7彈出Choose a template for your new file:對話框,如圖2.6所示。

2.6  添加新場景2

8選擇iOS|Source|Swift file模板,單擊Next按鈕,彈出設置文件信息的對話框,其中包括文件名稱和位置,如圖2.7所示。

2.7  添加新場景3

9輸入文件名稱後,單擊Create按鈕,此時就在建立的項目中新建了一個NewGameScene.swift的文件。單擊打開NewGameScene.swift文件,建立一個空的類,代碼以下:

  • import SpriteKit

  • //類的建立

  • class NewGameScene: SKScene {

  •    

  • }

此時一個新的場景就被添加好了。

Sprite Kit中顯示新增的場景

2.1節中,添加新場景後,這時的新場景是不能夠顯示在設備的屏幕中的,那麼如何將新增的場景顯示在屏幕中呢?這就是本節將要講解的內容。

1.建立場景

建立場景也就是所謂的實例化對象。因爲每個場景都是基於SKScene類的,因此每個場景都有一個通用的實例化對象的方法,其語法形式以下:

  • init(size size: CGSize)

其中,size是場景對象的尺寸,即大小。

2.顯示場景

建立好場景後,此時運行程序,新添加的場景仍是沒法顯示的。若是想要將新的場景進行顯示,須要使用presentScene(_ scene: SKScene?)方法,此方法用來顯示一個場景,其語法形式以下:

  • func presentScene(_ scene: SKScene?)

其中,_ scene用來表示須要顯示的場景。

【示例2-1】如下將以項目2-1爲基礎,將添加的新的場景顯示在屏幕上,具備操做步驟以下:

打開GameViewController.swift文件,刪除GameViewController.swift文件中的部分代碼。此時剩餘的代碼以下:

  • import UIKit

  • import SpriteKit

  • class GameViewController: UIViewController {

  •     override func viewDidLoad() {

  •         super.viewDidLoad()

  •     }

  •  

  • }

viewDidLoad()方法中添加如下的代碼,此代碼實現的功能就是將新添加的場景顯示在屏幕上:

  • override func viewDidLoad() {

  • super.viewDidLoad()

  • let skView = self.view as SKView

  • //判斷skViewscene屬性是否爲空

  •     if(skView.scene == nil){

  •         skView.showsFPS=true

  •         skView.showsNodeCount=true

  •         let scene=NewGameScene(size: skView.bounds.size)                                         //建立場景

  •         skView.presentScene(scene)                                                                                       //顯示場景

  •     }

  • }

此時運行程序,會看到如圖2.8所示的效果。

2.8  運行效果

注意:SKView類是專門用來呈現Sprite KitView。在此類中能夠渲染和管理一個SKScene。每一個Scene中能夠加載多個精靈,並管理它們的行爲。

本文選自:iOS遊戲框架Sprite Kit基礎教程——Swift版大學霸內部資料,轉載請註明出處,尊重技術尊重IT人!

相關文章
相關標籤/搜索