距离苹果公司刚刚在WWDC 2014上,发布新一代苹果平台编程语言Swift刚刚过去个11小时,开发者Nate Murray就放出了基于测试版Swift开发的应用——一个重制Flappy Bird的简易原型。
游戏界面如图所示,基本的小鸟飞飞(Flappy Bird)
-
● 物理系统和游戏流程基本正确
-
● 单一界面的原型演示
-
● 暂时不具备碰撞检测、主菜单界面、Game Over与计分功能
-
● 以调试信息显示同屏活动物体数(nodes)和帧率
-
● 代码量很小,适合fork下来收藏学习(重要)
我们推荐对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/