Swift游戏开发实战教程试读第三章.pdf
《Swift游戏开发实战教程试读第三章.pdf》由会员分享,可在线阅读,更多相关《Swift游戏开发实战教程试读第三章.pdf(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Swift 游戏开发实战教程大学霸 大学霸 Swift 游戏开发实战教程(内部资料)大学霸 Swift 游戏开发实战教程大学霸 大学霸 前 言 2014 年 9 月,苹果公司推出新一代开发语言 Swift。该语言开发效率更高,受到苹果开发者的广泛欢迎。国内开发领域中,大量的开发人员从 Objective-C 转向 Swift 语言。本教程是国内第一本 Swift 游戏开发专向资料。本教程详细讲解记忆配对、太空侵略者、Simon 记忆、迷你高尔夫、银河大战五个游戏的开发。在项目讲解同时,还着详细介绍了图形绘制、游戏引擎、音频引擎、用户交互、传感器等专向技术。最后,教程讲解苹果专用游戏框架 Spr
2、it Kit 的使用。为了帮助读者充分了解实际开发,教程还详细讲解游戏开发的必备知识,如帐号绑定、发布游戏等内容。1.学习所需的系统和软件学习所需的系统和软件 安装 Mac OS X 10.9.4 操作系统 安装 Xcode 6.0.1 2.学习建议学习建议 大家学习之前,可以致信到 xxxxxxxxxxxxx,获取相关的资料和软件。如果大家在学习过程遇到问题,也可以将问题发送到该邮箱。我们尽可能给大家解决。Swift 游戏开发实战教程大学霸 大学霸 目 录 第 1 章 开发环境搭配Xcode 的安装与运行.1 1.1 苹果账号.1 1.1.1 苹果账号的成员分类.1 1.1.2 注册免费的苹
3、果账号.1 1.1.3 注册非免费的苹果账号.4 1.2 Xcode 的下载和安装.6 1.2.1 App Store 中下载和安装 Xcode.6 1.2.2 其他网站下载和安装 Xcode.9 1.3 绑定苹果账号.10 1.4 更新组件和文档.11 1.5 首次打开 Xcode.12 1.6 Xcode 的界面介绍.15 1.6.1 导航窗口.15 1.6.2 工具窗口.16 1.6.3 编辑窗口.17 1.6.4 目标窗口.18 第 2 章 编写第一个 Swift 程序.19 2.1 运行程序.19 2.2 模拟器的操作.20 2.2.1 模拟器与真机的区别.21 2.2.2 退出应用
4、程序.21 2.2.3 应用程序图标的设置.22 2.2.4 语言设置.24 2.2.5 旋转.26 2.2.6 删除应用程序.27 2.3 编辑界面.28 2.3.1 界面介绍.28 2.3.2 设计界面.30 2.3.3 视图对象库的介绍.33 2.4 编写代码.34 2.5 调试.37 2.6 真机测试.39 2.6.1 申请和下载证书.40 2.6.2 实现真机测试.49 2.7 使用帮助文档.49 第 3 章 iPhone 游戏开发基础记忆配对游戏.51 3.1 游戏介绍.51 3.2 开发游戏之前的准备工作.52 Swift 游戏开发实战教程大学霸 大学霸 3.2.1 创建项目.5
5、2 3.2.2 添加图像.53 3.3 主菜单模块.54 3.4 配对模块.57 3.4.1 设计界面.57 3.4.2 卡牌的翻转.61 3.5 核心功能卡牌的配对.68 3.5.1 翻转两个卡牌.68 3.5.2 判断卡牌.69 3.5.3 配对成功失败的操作.69 3.5.4 完成所有配对.71 3.6 配对模块的额外功能.73 3.6.1 猜测次数功能.73 3.6.2 提高游戏的难度.74 3.7 分数榜单模块.75 3.7.1 准备工作.75 3.7.2 界面设计.76 3.7.3 实现分数的显示.78 3.8 关于游戏模块.81 3.9 场景切换.82 3.9.1 什么是场景切换
6、.83 3.9.2 实现场景切换.84 3.9.3 过渡动画效果.86 3.9.4 全部的场景切换.87 第 4 章 太空侵略者绘制图像.91 4.1 游戏介绍.91 4.2 开发游戏之前的准备工作.92 4.3 主菜单模板.92 4.4 射击游戏模板.93 4.4.1 准备工作.94 4.4.2 设计界面.94 4.5 添加飞船.95 4.6 移动飞船.96 4.6.1 向左移动.97 4.6.2 向右移动.97 4.7 创建敌人.99 4.7.1 创建单个敌人的创建.99 4.7.2 创建多个敌人.100 4.8 移动敌人.101 4.9 发射子弹.103 4.9.1 飞船的子弹.103
7、4.9.2 敌人的子弹.105 4.10 场景的切换.107 第 5 章 太空侵略者 2游戏引擎.110 Swift 游戏开发实战教程大学霸 大学霸 5.1 游戏介绍.110 5.2 开发游戏前的准备工作.111 5.3 主菜单模块.112 5.4 射击游戏模块.113 5.5 了解状态机.114 5.6 使用代码添加射击游戏界面元素.115 5.6.1 提示界面.115 5.6.2 飞船.117 5.6.3 敌人.122 5.7 检测碰撞.127 5.7.1 敌人的子弹击中飞船的检测.127 5.7.2 飞船的子弹击中敌人的检测.128 5.8 计分功能.130 5.9 歼灭所有敌人.130
8、 5.10 分数榜模块.132 5.10.1 准备工作.132 5.10.2 界面设计.132 5.10.3 实现分数的显示.134 5.11 场景切换.138 第 6 章 Simon 记忆游戏音频引擎.142 6.1 游戏介绍.142 6.2 开发游戏之前的准备工作.143 6.3 主菜单模块.146 6.4 游戏模块.147 6.4.1 准备工作.148 6.4.2 界面设计.148 6.5 添加颜色提示序列.149 6.5.1 添加提示声音.150 6.5.2 添加颜色提示.152 6.6 玩家猜测.153 6.7 添加背景音乐.155 6.8 游戏模块的额外功能.156 6.8.1 显
9、示游戏处于关数.156 6.8.2 提高游戏的难度.157 6.9 游戏介绍模块.159 6.10 场景切换.160 第 7 章 迷你高尔夫用户交互.162 7.1 游戏介绍.162 7.2 开发游戏之前的准备工作.163 7.3 主菜单模块.163 7.4 游戏模块.164 7.4.1 准备工作.165 7.4.2 界面设计.165 7.4.3 添加高尔夫球.166 Swift 游戏开发实战教程大学霸 大学霸 7.4.4 移动高尔夫球.167 7.5 用户交互中的不足.169 7.5.1 边界的限定.169 7.5.2 速度限定.170 7.5.3 进洞的限定.171 7.6 杆数显示.17
10、4 7.7 游戏界面模块.175 7.8 场景切换.176 第 8 章 银河大战Sprite Kit 游戏引擎和传感器应用.181 8.1 游戏介绍.181 8.2 创建 Game 类型项目.182 8.2.1 Game 模板类型简介.182 8.2.2 创建项目.183 8.2.3 添加图像和音频文件.185 8.3 主菜单模块.185 8.4 射击游戏模块.187 8.5 为射击游戏界面添加元素.187 8.5.1 准备工作.187 8.5.2 什么是 Sprite Kit.188 8.5.3 使用 SKSpriteNode 添加背景.188 8.5.4 使用 SKSpriteNode 添
11、加飞船.190 8.5.5 使用 SKSpriteNode 添加敌人.191 8.6 发射子弹.192 8.6.1 添加子弹.192 8.6.2 通过触摸发射子弹.192 8.7 使用传感器操控飞船.194 8.7.1 传感器介绍.194 8.7.2 判断传感器是否可用.194 8.7.3 实现移动.195 8.8 碰撞检测.197 8.9 分数显示.198 8.9.1 使用 SKLabelNode 添加显示分数的节点.199 8.9.2 实现分数的显示.199 8.10 添加声音.200 8.10.1 进入射击游戏界面的声音.200 8.10.2 子弹击中敌人的声音.201 8.11 游戏介
12、绍模块.201 8.12 场景切换.202 第 9 章 应用程序的发布.205 9.1 创建 App ID.205 9.2 申请发布证书.206 9.2.1 申请证书.206 9.2.1 申请证书对应的配置文件(Provision File).209 9.3 准备提交提交应用程序.211 Swift 游戏开发实战教程大学霸 大学霸 9.3.1 创建应用及基本信息.211 9.3.2 项目的相关设置.214 9.4 提交应用程序到 App Store 上.219 9.5 常见审核不通过的原因.226 Swift 游戏开发实战教程大学霸 大学霸 第 3 章 iPhone 游戏开发基础记忆配对游戏
13、前面章节已经讲解了 Swift 的基础语法,从本章开始将以实战的形式,讲解游戏如何开发。记忆配对游戏是一类经典的益智游戏。它不仅可以锻炼玩家的眼力,还可以锻炼玩家的记忆力。本章将通过这个游戏讲解游戏主菜单、游戏配对、场景切换等技术。3.1 游戏介绍 记忆配对游戏是经典的益智游戏,老少皆宜。游戏开始时,提供许多反扣的卡牌。玩家可以连续将卡牌翻转过来。当连续的两张牌一样时,就自动消除;否则,这两张牌会被重新反扣回去。这样的一个游戏,通常包括以下几个模块。1.主菜单模块主菜单模块 主菜单提供一个基本的界面,帮助玩家操作,如图 3.1 所示。轻拍 Play Game 按钮,可以进入配对游戏的界面;轻拍
14、 List Scene 按钮,可以进入分数榜单的界面;轻拍 About Scene按钮,可以进入关于游戏的界面。2.配对模块配对模块 配对模块是程序的最重要的模块。它提供了游戏的界面,如图 3.2 所示。同时,它会负责对玩家的操作做出响应。图 3.1 主菜单 图 3.2 配对游戏界面 3.分数榜单模块分数榜单模块 分数榜单模块提供了玩家分数的界面,如图 3.3 所示 4.关于游戏的模块关于游戏的模块 Swift 游戏开发实战教程大学霸 大学霸 关于游戏的模块提供了此游戏的玩法,说明等内容,如图 3.4 所示。图 3.3 分数榜单 图 3.4 关于游戏 3.2 开发游戏之前的准备工作 本节将讲解
15、一些在开发游戏之前的准备工作。3.2.1 创建项目 和其他的 iOS 应用程序一样,在开发一款游戏之前,首先需要创建一个项目。在此项目中保存了开发游戏的代码,资源等内容。在本章中,需要创建一个 Single View Application模板类型的项目,命名为 MatchingGame。它的具体步骤如下:(1)单击 Dock 中的 Xcode,弹出 Welcome to Xcode 对话框。(2)选择其中的 Create a new Xcode project,弹出 Choose a template for your new project:对话框,如图 3.5 所示。Swift 游戏开发
16、实战教程大学霸 大学霸 图 3.5 操作步骤(3)选择 iOS|Application 中的 Single View Controller 模板,单击 Next 按钮后,弹出Choose options for your new project:对话框,如图 3.6 所示。图 3.6 操作步骤(4)在此对话框中输入项目的名称 MatchingGame,将程序语言选择为 Swift。单击 Next按钮,弹出选择项目保存位置的对话框。单击 Create 按钮后,一个名为 MatchingGame 的项目就创建好了。我们就可以在此项目中开发记忆配对游戏。3.2.2 添加图像 为了让记忆配对游戏的界面
17、看起来更加的漂亮,需要在创建的项目即 MatchingGame 中添加一些图像。这些图像有back.png、blank.png、backdrop1.jpg、backdrop2.jpg、backdrop3.jpg、icons01.png icons15.png。添加图像的具体操作步骤如下:(1)右击 Supporting Files 文件夹,弹出快捷菜单,如图 3.7 所示。Swift 游戏开发实战教程大学霸 大学霸 图 3.7 操作步骤(2)选择 Add Files to MatchingGame命令,弹出选择文件对话框,如图 3.8 所示。图 3.8 操作步骤(3)选择需要添加的图像后,单击
18、 Add 按钮,实现图像的添加。添加后的图像就会显示在 Supporting Files 文件夹中。3.3 主菜单模块 主菜单提供一个基本的界面。在一个主菜单中常用会拥有一组菜单项,它可以帮助玩家进行操作。菜单项的实现方式有很多,如使用标签实现菜单项,使用按钮实现菜单项等等。本节将使用按钮实现对主菜单中菜单项的设计。双击将 Main.storyboard 文件打开,对主菜单的界面(界面也可以称之为主视图或者场景)进行设计,具体的操作步骤图像如下:(1)选择 Show the File inspector 选项,将 Interface Builder Document 中的 Opens in 改
19、Swift 游戏开发实战教程大学霸 大学霸 为 Xcode 5.1,如图 3.9 所示。设置界面的大小设置界面的大小Show the File inspectorShow the File inspector文件查看器文件查看器 图 3.9 设置界面的大小 注意:由于 Xcode 6.0 的界面比较大,为了方便截图的方便,将 Xcode 6.0 界面改为Xcode 5.1 的界面。Opens in 这一项开发者可以不去修改,在本书中,由于截图的缘故,所以将此项进行了修改(在后面的章节中实现的应用都将此项进行了修改),修改此项后,画板中的界面的尺寸会变为 Xcode 5.1 中的尺寸,如图 3.
20、10 所示。设置前设置前设置后设置后 图 3.10 界面的大小设置(2)对在画板中原本存在的 View Controller 视图控制器的界面进行设计,效果如图 3.11所示。Swift 游戏开发实战教程大学霸 大学霸 LabelLabelImage ViewImage ViewButtonButton1 1ButtonButton2 2ButtonButton3 3ViewView1 1ViewView2 2ViewView3 3 图 3.11 界面的效果 需要添加的视图对象以及对它们的设置如表 3-1 所示。表 3-1 设置界面 视图 设置 Image View Image:backdro
21、p2.jpg 位置和大小:(0,0,320,568)Label Text:Matching Game Font:System Bold 32.0 Alignment:居中 位置和大小:(35,52,250,42)View1 Alpha:0.5 Background:黑色 位置和大小:(57,211,206,37)Button1 Title:Play Game Font:System Bold 19.0 Text Color:白色 位置和大小:(40,4,127,30)View2 Alpha:0.5 Background:黑色 位置和大小:(57,281,206,37)Button2 Title
22、:List Scene Font:System Bold 19.0 Text Color:白色 位置和大小:(40,4,127,30)View3 Alpha:0.5 Background:黑色 位置和大小:(57,351,206,37)Button3 Title:About Scene Font:System Bold 19.0 Text Color:白色 位置和大小:(40,4,127,30)在设菜单界面时需要注意以下两点:1.背景的生成背景的生成 在图 3.11 中可以看到在主菜单的界面上有一个背景,这个背景是采用了 Image View 图Swift 游戏开发实战教程大学霸 大学霸 像视
23、图对象实现的。首先,玩家需要在视图对象库中找到 Image View 对象,将其拖动到主菜单的界面中。然后,选择工具栏中的 Show the Attributes inspector 选项即属性查看器,在其中找到 Image 属性,将此属性设置为 backdrop2.jpg,如图 3.12 所示。Show the Attributes inspectorShow the Attributes inspector属性查看器属性查看器设置图像视图显示的图像设置图像视图显示的图像 图 3.12 设置 Image 属性 2.菜单项的设置菜单项的设置 按钮是玩家交互的最基础控件。对于它的使用首先需要从视
24、图对象库中拖动 Button 按钮对象,到主菜单的界面中,然后打开 Show the Attributes inspector 选项即属性查看器对按钮的一些属性进行设置,如按钮的标题、标题颜色、字体大小等等。3.4 配对模块 配对模块是程序的最重要的模块。它提供了玩家游戏的界面,同时,它会负责对玩家的操作做出响应。本节将讲解有关配对模块的操作。3.4.1 设计界面 在配对模块的游戏界面中,会拥有很多的卡牌,这些卡牌可以使用按钮进行实现。以下是游戏界面的设计步骤:在视图对象库中拖动 View Controller 视图控制器对象到画布中,然后对此视图控制器的界面进行设计,效果如图 3.13 所示
25、。Swift 游戏开发实战教程大学霸 大学霸 ButtonButton1 1-ButtonButton5 5LabelLabelButtonButton3131ViewViewImage ViewImage ViewButtonButton6 6-ButtonButton1010ButtonButton1111-ButtonButton1515ButtonButton1616-ButtonButton2020ButtonButton2121-ButtonButton2525ButtonButton2626-ButtonButton3030按钮的顺序都是从左往右的 图 3.13 界面的效果 需要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Swift 游戏 开发 实战 教程 试读 第三
限制150内