编辑推荐
适读人群 :iOS游戏开发人员 专门介绍iOS游戏框架SpriteKit技术的图书
通过124个实例,详解SpriteKit游戏开发的各项关键技术和流程
从SpriteKit基础开始讲解,逐步深入到SpriteKit高级开发技术及应用
给出了大量的常见游戏特效,从而引出知识点,让读者知其然而且知其所以然
讲解知识点时贯穿了大量短小精悍的典型实例,还给出了大量的开发技巧
移动开发精品图书海报:
内容简介
本书由浅入深,全面系统地介绍了iOS2D游戏引擎SpriteKit开发技术。本书提供了大量实例,供读者实战演练。另外,本书给出了大量的常见游戏特效,用于引出知识点,使得读者能知其所以然。这样,读者避免了直接面对生硬抽象的理论知识,从而更轻松地掌握SpriteKit开发。
本书共12章,分为3篇。第1篇为基础篇,涵盖的主要内容有一个SpriteKit程序、场景、精灵、动作和用户交互技术等。第2篇为进阶篇,涵盖的主要内容有游戏中的文字、音频和视频、粒子系统、SpriteKit中的其他节点(包括修剪节点、形状节点、效果节点等技术)。第3篇为高级篇,涵盖的主要内容有物理引擎与碰撞、瓦片地图、发布应用程序等。
本书涉及面广,从基本内容到高级技术再到核心原理,几乎涉及SpriteKit开发的所有重要知识。本书既适合所有想全面学习SpriteKit框架开发技术的人员阅读,也适合各种使用该框架进行游戏开发的工程技术人员使用。对于经常进行iOS2D游戏开发的人员,更是一本不可多得的案头必备参考书。
本书精华内容
一个SpriteKit程序
游戏场景
操作精灵
精灵动作
用户交互
游戏中的文字
音频和视频
粒子系统
SpriteKit中的其他节点
物理引擎
碰撞监测
瓦片地图
发布应用程序
作者简介
刘媛媛,软件工程师。现就职于某知名IT公司的移动项目部,担任iOS开发技术研究员。擅长iOS移动开发技术,长期从事iOS新技术和可穿戴设备的研究。参与过多个移动项目的开发,积累了丰富的开发经验。编写并出版了《Swift入门很简单》、《Swift游戏开发案例实战》和《XamariniOS移动开发实战》等图书。
内页插图
目录
第1篇 基础篇
第1章 编写第一个Sprite Kit程序
1.1 Sprite Kit介绍
1.1.1 什么是Sprite Kit
1.1.2 Sprite Kit优缺点
1.2 苹果账号的注册
1.2.1 苹果账号的分类
1.2.2 注册免费苹果账号
1.2.3 注册非免费苹果账号
1.3 Xcode的下载和安装
1.3.1 App Store上下载和安装Xcode
1.3.2 其他的网站上下载Xcode
1.4 绑定苹果账号
1.5 更新组件与文档
1.6 编写第一个程序
1.6.1 创建项目
1.6.2 Xcode界面介绍
1.6.3 运行程序
1.6.4 模拟器介绍
1.6.5 场景编辑器
1.6.6 编写代码
1.7 使用帮助文档
1.8 调试
1.9 真机测试
1.9.1 申请和下载证书
1.9.2 实现真机测试
第2章 场景
2.1 添加场景
2.2 显示新增的场景
2.3 设置场景
2.3.1 设置场景的背景颜色
2.3.2 设置场景的缩放模式
2.3.3 设置测试信息
2.4 切换场景
2.4.1 单纯的场景切换
2.4.2 具有过渡动画的场景
2.5 滚动场景
2.5.1 让场景进行滚动
2.5.2 永无休止的滚动场景
第3章 精灵
3.1 节点介绍
3.2 添加图像到项目中
3.3 显示精灵
3.3.1 使用场景编辑器显示精灵
3.3.2 使用代码显示无纹理的精灵
3.3.3 使用代码显示纹理精灵
3.4 设置精灵
3.4.1 设置精灵的位置
3.4.2 设置锚点
3.4.3 对精灵着色
3.4.4 调整精灵的尺寸
3.4.5 缩放精灵
3.4.6 旋转精灵
3.4.7 设置精灵的透明度
3.4.8 隐藏精灵
3.5 删除精灵
3.5.1 删除指定的精灵
3.5.2 删除所有精灵
3.6 让精灵更具真实感
3.7 移动精灵
3.8 纹理
3.8.1 纹理的创建
3.8.2 纹理的显示
第4章 动作
4.1 移动动作
4.1.1 以点的方式移动
4.1.2 以偏移量的方式移动
4.2 序列动作
4.3 重复动作
4.3.1 无限重复
4.3.2 具有次数的重复
4.4 延迟动作
4.5 缩放动作
4.5.1 以缩放倍数缩放
4.5.2 以增量值缩放
4.6 旋转动作
4.7 调整尺寸的动作
4.7.1 以目标值调整尺寸
4.7.2 以增量调整尺寸
4.8 组合动作
4.9 改变透明度的动作
4.9.1 不需指定alpha值
4.9.2 指定alpha值
4.10 改变颜色的动作
4.10.1 改变混合因子
4.10.2 改变颜色和混合因子
4.11 以动画的形式改变纹理的动作
4.12 路径动作
4.13 反向运动
4.14 速度动作
4.15 显示或隐藏动作
4.16 块动作
4.17 自定义的动作
4.18 动作属性
4.18.1 速度
4.18.2 时间
4.18.3 曲线方式
4.19 删除动作
第5章 用户交互
5.1 触摸
5.1.1 轻拍触摸
5.1.2 移动触摸
5.1.3 结束触摸和取消触摸
5.2 手势
5.2.1 轻拍
5.2.2 捏
5.2.3 旋转
5.2.4 移动
5.2.5 滑动
5.2.6 长按
5.3 重力感应
5.3.1 场景布局
5.3.2 判断重力感应是否可用
5.3.3 使用重力感应移动飞船
第2篇 进阶篇
第6章 游戏中的文字
6.1 显示标签
6.1.1 使用场景编辑器显示标签
6.1.2 使用代码实现标签
6.2 设置标签
6.2.1 设置文字大小
6.2.2 设置文字的颜色
6.2.3 设置标签显示的文字
6.2.4 设置文字的字体
6.3 为标签加载自定义的字体
6.4 标签的对齐方式
6.4.1 水平对齐
6.4.2 垂直对齐
6.5 为标签添加动作
第7章 音频和视频
7.1 背景音乐
7.1.1 添加背景音乐
7.1.2 控制背景音乐
7.1.3 设置音乐的播放点
7.1.4 设置音量
7.1.5 设置循环播放
7.2 音效
7.2.1 AVFoundation.framework框架
7.2.2 使用AudioToolbox.framework框架
7.2.3 使用playSoundFileNamed()方法
7.3 视频
7.3.1 添加视频
7.3.2 控制视频
第8章 粒子系统
8.1 使用粒子系统编辑器添加粒子系统
8.2 使用场景编辑器实现添加粒子系统
8.3 粒子发射器中的参数说明
8.4 使用代码实现粒子系统
8.5 使用关键帧序列配置粒子属性
8.6 给粒子添加动作
8.6.1 使用runAction()方法添加动作
8.6.2 使用particleAction属性添加动作
8.7 重置粒子系统
第9章 Sprite Kit中其他节点
9.1 修剪节点
9.2 形状节点
9.2.1 使用场景编辑器添加形状节点
9.2.2 使用代码添加形状节点
9.2.3 个性化形状
9.2.4 设置形状的路径
9.3 效果节点
第3篇 高级篇
第10章 物理引擎与碰撞
10.1 什么是物理引擎
10.2 使用场景编辑器添加物理引擎
10.3 使用代码添加物理引擎
10.3.1 创建简单的物理体
10.3.2 添加物理体
10.3.3 创建自定义的物理体
10.3.4 为物理体添加边界
10.3.5 可视化物理体
10.4 物理引擎的属性设置
10.5 让物理体进行移动
10.6 物理体连接
10.7 在游戏中的碰撞
10.7.1 最简单的碰撞——if语句
10.7.2 使用intersectsNode()方法
10.7.3 使用物理引擎
第11章 瓦片地图
11.1 创建瓦片地图
11.2 设置瓦片地图
11.2.1 缩放模式
11.2.2 过滤模式
11.2.3 颠倒地图
11.2.4 随机生成瓦片
11.3 加载TXT文件到地图中
11.3.1 添加TXT文件
11.3.2 设置TXT文件中的内容
11.3.3 加载内容到地图中
11.4 加载TML文件到地图中
11.4.1 软件下载与安装
11.4.2 用TexturePacker创建图块
11.4.3 用Tield绘制地图
11.4.4 加载TML文件
11.5 滚动地图
11.6 添加移动精灵
11.6.1 添加精灵
11.6.2 移动精灵
10.7 在瓦片地图上的碰撞
第12章 发布应用程序
12.1 创建App ID
12.2 申请发布证书
12.2.1 申请证书
12.2.2 申请证书对应的配置文件(Provision File)
12.3 准备提交应用程序
12.3.1 创建应用及基本信息
12.3.2 项目的相关设置
12.4 提交应用程序到App Store上
12.4.1 Application Loader
12.4.2 Archives
12.5 常见审核不通过的原因
前言/序言
iOS游戏框架Sprite Kit技术详解
《SwiftUI 视觉艺术与交互实践指南》 探索 Apple 平台应用开发的全新维度 在移动应用开发日新月异的今天,掌握前沿的技术栈是开发者脱颖而出的关键。《SwiftUI 视觉艺术与交互实践指南》并非一本追溯过去的游戏开发框架的技术手册,而是一本面向未来的 Apple 平台应用开发指南,聚焦于 SwiftUI——Apple 最具创新性和声明式特性的 UI 框架。本书旨在带领开发者深入理解 SwiftUI 的设计哲学,掌握其强大的声明式语法,并通过丰富的实战案例,解锁构建精美、流畅、响应式 Apple 生态应用(包括 iOS、macOS、watchOS、tvOS)的无限可能。 为何选择 SwiftUI? SwiftUI 的出现,彻底改变了 Apple 平台 UI 开发的范式。它不仅仅是 UIKit 或 AppKit 的替代品,更是一种全新的思维方式。通过声明式语法,开发者无需关注 UI 的底层管理和状态更新,只需描述 UI 的最终状态,SwiftUI 会自动高效地处理更新过程。这极大地简化了开发流程,减少了样板代码,并显著提高了开发效率。本书将深入剖析 SwiftUI 的核心优势,解释为何它已经成为 Apple 平台应用开发的必然趋势。 本书内容概览: 《SwiftUI 视觉艺术与交互实践指南》将以系统化的方式,循序渐进地带领您从入门到精通 SwiftUI。全书结构清晰,内容涵盖广泛,力求为读者提供全面、深入的学习体验。 第一部分:SwiftUI 基础与核心概念 第一章:SwiftUI 登场:新时代的 UI 开发 SwiftUI 的历史背景与发展方向。 与 UIKit/AppKit 的对比:为何 SwiftUI 更具优势? 声明式 UI 的核心理念:What you see is what you get。 SwiftUI 的设计原则与目标。 初识 Xcode 对 SwiftUI 的支持。 第二章:视图 (Views) 的构建块:组件化与布局 `View` 协议的本质:描述 UI 的结构。 基本视图类型:`Text`、`Image`、`Button`、`TextField` 等的用法与属性。 容器视图:`VStack`、`HStack`、`ZStack` 的布局原理。 修饰符 (Modifiers):改变视图外观与行为的强大工具。 列表与网格:`List` 和 `ForEach` 的高效渲染。 自定义视图的创建与复用。 第三章:状态管理:驱动 UI 的核心动力 `@State`:管理视图内部的简单状态。 `@Binding`:在父子视图之间实现双向数据绑定。 `@ObservedObject` 和 `ObservableObject`:处理复杂对象的状态变化。 `@EnvironmentObject`:跨越视图层级共享数据。 `@Environment`:访问和修改环境值(如颜色方案、字体大小)。 状态管理策略的深入探讨与最佳实践。 第四章:数据流与视图更新 SwiftUI 的数据更新机制:响应式编程模型。 理解视图的生命周期与重绘。 如何优化视图更新,避免不必要的性能损耗。 数据依赖与视图的联动。 第二部分:SwiftUI 高级特性与交互设计 第五章:导航与视图切换 `NavigationView` 与 `NavigationLink`:构建层级导航。 模态视图 (`.sheet`、`.fullScreenCover`):呈现弹出式界面。 选项卡视图 (`TabView`):在不同功能模块间切换。 自定义导航逻辑与动画。 macOS 平台上的侧边栏与窗口导航。 第六章:手势与动画:赋予应用生命力 内置手势识别器:`TapGesture`、`DragGesture`、`LongPressGesture` 等。 自定义手势的创建与应用。 `withAnimation`:平滑的属性过渡动画。 `Animatable` 协议:为自定义属性添加动画效果。 `matchedGeometryEffect`:实现元素间的跨视图动画。 设计流畅、吸引人的交互动画。 第七章:表单与控件的深度运用 `Form` 容器的特性与样式。 更复杂的输入控件:`Picker`、`Slider`、`Toggle`、`Stepper`。 数据验证与输入反馈。 自定义控件的创建:外观与行为的完全控制。 `ColorPicker`、`DatePicker` 等的集成。 第八章:画布 (Canvas) 与图形绘制 `Canvas` 视图:在 SwiftUI 中进行自定义图形绘制。 Core Graphics 基础:路径、形状、填充与描边。 使用 SwiftUI 的形状 (`Shape`) 进行矢量图形绘制。 动画图形与动态视觉效果。 将自定义图形集成到 UI 元素中。 第三部分:跨平台开发与集成实践 第九章:SwiftUI 在 Apple 各平台的应用 iOS 应用开发:移动端的核心。 macOS 应用开发:桌面应用的现代化。 watchOS 应用开发:为 Apple Watch 设计体验。 tvOS 应用开发:构建智能电视应用。 跨平台 UI 设计的考量与适配。 第十章:与 UIKit/AppKit 的互操作性 在 SwiftUI 中集成 UIKit/AppKit 视图 (`UIViewRepresentable`、`UIViewControllerRepresentable`)。 在 UIKit/AppKit 中使用 SwiftUI 视图 (`UIHostingController`)。 数据与事件的跨框架传递。 逐步迁移旧有项目到 SwiftUI 的策略。 第十一章:数据持久化与网络请求 Core Data 与 SwiftUI 的集成。 UserDefaults 的简单数据存储。 Realm 数据库的引入。 使用 `URLSession` 进行网络数据请求。 处理异步操作与状态更新。 第十二章:高级主题与性能优化 `PreferenceKey`:跨视图传递与聚合信息。 `GeometryReader`:获取视图的尺寸与位置信息。 并发与异步编程在 SwiftUI 中的应用。 性能分析工具与优化技巧。 可访问性 (Accessibility) 的实现。 国际化与本地化。 第十三章:真实世界应用开发案例 构建一个功能完整的社交媒体应用(UI、导航、数据管理)。 开发一个交互式数据可视化应用。 设计一个跨平台的生产力工具。 通过实际项目,巩固和深化 SwiftUI 的应用能力。 本书特色: 理论与实践并重: 深入剖析 SwiftUI 的设计理念和底层原理,并辅以大量可运行的示例代码,让读者“学得懂、用得上”。 由浅入深: 从 SwiftUI 的基本概念讲起,逐步深入到高级特性和跨平台开发,适合不同水平的开发者。 注重交互设计: 强调如何利用 SwiftUI 的动画和手势系统,打造引人入胜的用户体验。 面向未来: 聚焦于 Apple 平台最前沿的 UI 开发技术,帮助开发者掌握未来趋势。 案例驱动: 通过多个真实世界应用案例,演示 SwiftUI 在不同场景下的强大应用能力。 语言风格: 采用清晰、流畅、具有逻辑性的语言,避免生硬的技术术语堆砌,力求易于理解和吸收。 目标读者: 希望学习和掌握 Apple 平台现代化 UI 开发技术的 iOS、macOS、watchOS、tvOS 开发者。 有一定 Swift 编程基础,希望转向声明式 UI 开发的开发者。 正在考虑或已经开始将现有项目迁移到 SwiftUI 的团队。 对构建精美、高性能 Apple 生态应用感兴趣的开发者。 《SwiftUI 视觉艺术与交互实践指南》将是您在 Apple 平台应用开发旅程中不可或缺的伙伴,助您轻松驾驭 SwiftUI 的强大功能,创造出令人惊叹的应用程序。