第一個受到關注的Swift應用?「Flappy Swift」分享與簡析

距離蘋果公司剛剛在WWDC 2014上,發佈新一代蘋果平臺編程語言Swift剛剛過去個11小時,開發者Nate Murray就放出了基於測試版Swift開發的應用——一個重製Flappy Bird的簡易原型。html

請輸入圖片描述

  • 遊戲界面如圖所示,基本的小鳥飛飛(Flappy Bird)
  • 物理系統和遊戲流程基本正確
  • 單一界面的原型演示
  • 暫時不具有碰撞檢測、主菜單界面、Game Over與計分功能
  • 以調試信息顯示同屏活動物體數(nodes)和幀率
  • 代碼量很小,適合fork下來收藏學習(重要)

咱們推薦對Swift感興趣的開發人閱讀這個新做品的代碼,並同時建議下載一份目前的版本試用或收藏。node

在這裏咱們簡單通讀,瞭解一下這個差很少是第一個獲得必定關注的Swift應用。
(參閱本站報道《【WWDC 2014】帶您一覽蘋果全新編程語言Swift》)ios

語言與平臺特性

使用iOS平臺提供的依賴庫:git

  • SpriteKit
    用於2D遊戲的貼圖建構與物理引擎
  • UIKit
    iOS程序界面的基本庫

使用Swift提供的如下語言特性:github

  • 面向對象基本方法 (絕大多數代碼)
  • extension (擴展)
  • 鏈式代碼中加?替代nil空值檢查 (WWDC現場演示的特性)
  • 命名參數、顯式可空變量
  • 其餘基本的循環與分支結構

所有程序使用Swift,程序內部(不含依賴庫)並未使用Swift封裝Objective-C的特性。編程

簡評

從這個程序中咱們能夠看到,用Swift足夠寫出簡潔易懂,語法上與其餘腳本語言區別很是小,幾乎無需學習Swift就能理解大概意思的程序。segmentfault

因爲Swift新近問世,而且iOS開發中調用接口的代碼量,遠遠比體現語言自己結構的代碼量要大(這也是正確的),因此Swift的特性與威力可能尚未獲得100%的發揮。咱們觀察這個程序,仍然最好是按照傳統的iOS程序來看待,重點關注SpriteKit在2D遊戲開發中的用法。app


軟件做者:Nate Murray
GitHub地址:https://github.com/fullstackio/FlappySwift/編程語言

SegmentFault原創報道,轉載請遵照本站相關聲明。
創做與責任編輯:沙渺學習

相關文章
相關標籤/搜索