2

距离苹果公司刚刚在WWDC 2014上,发布新一代苹果平台编程语言Swift刚刚过去个11小时,开发者Nate Murray就放出了基于测试版Swift开发的应用——一个重制Flappy Bird的简易原型。

请输入图片描述

  • 游戏界面如图所示,基本的小鸟飞飞(Flappy Bird)
  • 物理系统和游戏流程基本正确
  • 单一界面的原型演示
  • 暂时不具备碰撞检测、主菜单界面、Game Over与计分功能
  • 以调试信息显示同屏活动物体数(nodes)和帧率
  • 代码量很小,适合fork下来收藏学习(重要)

我们推荐对Swift感兴趣的开发人阅读这个新作品的代码,并同时建议下载一份目前的版本试用或收藏。

在这里我们简单通读,了解一下这个差不多是第一个得到一定关注的Swift应用。
(参阅本站报道《【WWDC 2014】带您一览苹果全新编程语言Swift》)

语言与平台特性

使用iOS平台提供的依赖库:

  • SpriteKit
    用于2D游戏的贴图建构与物理引擎
  • UIKit
    iOS程序界面的基本库

使用Swift提供的以下语言特性:

  • 面向对象基本方法 (绝大多数代码)
  • extension (扩展)
  • 链式代码中加?替代nil空值检查 (WWDC现场演示的特性)
  • 命名参数、显式可空变量
  • 其他基本的循环与分支结构

全部程序使用Swift,程序内部(不含依赖库)并未使用Swift封装Objective-C的特性。

简评

从这个程序中我们可以看到,用Swift足够写出简洁易懂,语法上与其他脚本语言区别非常小,几乎无需学习Swift就能理解大概意思的程序。

由于Swift新近问世,并且iOS开发中调用接口的代码量,远远比体现语言本身结构的代码量要大(这也是正确的),所以Swift的特性与威力可能还没有得到100%的发挥。我们观察这个程序,仍然最好是按照传统的iOS程序来看待,重点关注SpriteKit在2D游戏开发中的用法。


软件作者:Nate Murray
GitHub地址:https://github.com/fullstackio/FlappySwift/

SegmentFault原创报道,转载请遵守本站相关声明。
创作与责任编辑:沙渺


沙渺
21.8k 声望1.1k 粉丝

1998年入行,普通的电脑老玩家。Web、嵌入式Linux和电子产品设计研究者。