ios遊戲開發 Sprite Kit教程:初學者 1
注:本文譯自Sprite
Kit Tutorial for Beginners
目錄
Sprite Kit的優點和缺點
Sprite Kit vs Cocos2D-iPhone vs Cocos2D-X vs Unity
Hello, Sprite Kit!
- 橫屏顯示
- 移動怪獸
- 發射炮彈
- 碰撞檢測: 概述
- 碰撞檢測: 實現
- 收尾
- 何去何從?
在iOS 7中內建了一個新的Sprite Kit框架,該框架主要用來開發2D遊戲。目前已經支援的內容包括:精靈、很酷的特效(例如視訊、濾鏡和遮罩),並且還整合了物理庫等許多東西。
iOS 7中附帶了一個非常棒的Sprite Kit示例工程,名字叫做Adventure。不過這個示例工程稍微有點複雜,不太適合初學者。本文的目的就是做一個關於Sprite Kit使用的初級教程。
通過本文,你可以從頭到尾的學習到如何為你的iPhone建立一個簡單又有趣的2D遊戲。如果你看過我們之前的教程:Simple Cocos2D game教程,你會發現非常的相似。
在開始之前,請確保已經安裝了最新版本的Xcode(5.X),裡面支援Sprite Kit以及iOS 7。
Sprite Kit的優點和缺點
首先,我想指出在iOS中開發2D遊戲Sprite Kit並不是唯一的選擇,下面我們先來看看Sprite Kit的一些優點和缺點。
Sprite Kit的優點:
1、它是內建到iOS中的,因此並不需要下載額外的庫或者其它一些外部依賴。並且它是由蘋果開發的,所以對於它的支援和更新我們可以放心。
2、它內建的工具支援紋理和粒子。
3、它可以讓你做一些其它框架很難做到的事情,例如把視訊當做精靈一樣處理,或者使用很酷的圖形效果和遮罩。
Sprite Kit的缺點:
1、如果使用了Sprite Kit,那麼你將被iOS生態圈所綁架,導致你無法很容易對你開發的遊戲移植到Android上。
2、Sprite Kit現在還處於初始階段,此時提供的功能還沒有別的框架豐富,例如Cocos2D。最缺的東西應該是暫不支援寫自定義的OpenGL程式碼。
Sprite Kit vs Cocos2D-iPhone vs Cocos2D-X vs Unity
此時,你可能在想“我該選擇使用哪個2D框架呢?”
這取決於你的實際情況,下面是我的一些想法:
1、如果你是一個初學者,並且只關注於iOS,那麼就使用內建的Sprite Kit吧,它非常容易學習,並且完全可以把工作做好。
2、如果需要寫自己的OpenGL程式碼,那麼還是使用Cocos2D,或者其它框架吧,目前Sprite Kit並不支援自定義OpenGL程式碼。
3、如果要進行跨平臺開發,那麼選擇Cocos2D-X或者Unity。Cocos2D-X非常出色,可以用它來構建2D遊戲。Unity則更加的靈活(例如,如果有需要的話,你可以在遊戲中新增一些3D效果)。
看到這裡,如果你還想要繼續瞭解Sprite Kit的話,請繼續往下讀吧。
Hello,Sprite Kit!
下面我們就開始利用Xcode 5內建的Sprite Kit模板來構建一個簡單的Hello World工程吧。
啟動Xcode,選擇File\New\Project
,接著選中iOS\Application\SpriteKit
Game
模板,然後單擊Next
:
輸入Product Name為SpriteKitSimpleGame
,Devices選擇iPhone,接著單擊Next
:
選擇工程儲存的路徑,然後點選Create
。然後點選Xcode中的播放按鈕來執行工程。稍等片刻,可以看到如下執行畫面:
跟Cocos2D類似,Sprite Kit也是按照場景(scenes)
來構建的,這相當於遊戲中的”levels”和”screens”。例如,你的遊戲中可能會有一個主遊戲區的場景,以及一個世界地圖的一個場景。
如果你觀察一下建立好的工程,會發現SpriteKit Game模板已經建立好了一個預設的場景MyScene
。現在開啟MyScene.m
,裡面已經包含了一些程式碼,其中將一個lable放到螢幕中,並且新增了:當tap螢幕時,會在螢幕上新增一個旋轉的飛船。
在本教程中,我們主要在MyScene中寫程式碼。不過在開始寫程式碼之前,需要進行一個小調整——讓程式以橫屏的方式執行。
……Sprite Kit教程:初學者 1 結束……
相關文章
- 【IOS開發初學者】UINavigationController詳解iOSUINavigationController
- 史上最全的Android開發學習教程集錦【初學者】Android
- 初學者如何學Java開發?Java
- IOS 初級開發入門教程(一)介紹篇iOS
- 寫給大資料開發初學者的話 | 附教程(轉)大資料
- 【開發者說】無懼高網路吞吐量,Network Kit與三七遊戲共創流暢遊戲體驗遊戲
- 【IOS初學者】UITableView與自定義UITableViewCelliOSUIView
- 給初學者的 fc 示例教程
- 給初學者的 type 命令教程
- 開發者以多款遊戲的實際案例談4種有效的遊戲教程設計遊戲
- 微信小遊戲開發(1)遊戲開發
- Flutter Flame遊戲開發上手(1)Flutter遊戲開發
- 2020 OPPO開發者大會遊戲專場,多維度賦能遊戲開發者遊戲開發
- 【Unity3D開發小遊戲】《戰棋小遊戲》Unity開發教程Unity3D遊戲
- 學習Python可以做遊戲開發嗎?Python入門教程Python遊戲開發
- 給初學者看的 shuf 命令教程
- [譯] 給初學者的 Jupyter Notebook 教程
- Ps 初學者教程如何建立海報?
- 產品開發專案管理初學者指南專案管理
- 遊戲開發者聯盟:調查發現59%開發者認為遊戲行業現狀糟糕遊戲開發行業
- IEC104初學者教程,第四章:IEC 104 開發環境搭建開發環境
- 抑鬱症與遊戲開發者遊戲開發
- 遊戲開發者都擅長“打自己的遊戲”嗎?遊戲開發
- go語言開發入門:GO 開發者對 GO 初學者的建議Go
- 給初學者的RxJava2.0教程(三)RxJava
- 給初學者的RxJava2.0教程(七)RxJava
- 給初學者的 RxJava2.0 教程 (四)RxJava
- Oracle資料庫初學者入門教程Oracle資料庫
- IOS 初級開發入門教程(二)第一個HelloWorld工程及StoryBoard使用iOS
- C語言初學者(自學)做的一個猜數字小遊戲C語言遊戲
- 開發者談恐怖遊戲可以借鑑的Roguelike遊戲特色遊戲
- B站上的獨立遊戲開發者遊戲開發
- 活下來的 VR 遊戲開發者VR遊戲開發
- 是男人就下100層小遊戲開發教程遊戲開發
- 【譯】Jest 初學者教程:JavaScript 測試入門JavaScript
- C#初學者教程系列22:檔案操作C#
- 被Facebook開除的獨立遊戲開發者遊戲開發
- 初學者的機器學習入門實戰教程!機器學習
- SAP UI5 初學者教程的學習目錄UI