分享
Flutter 游戏开发
输入“/”快速插入内容
Flutter 游戏开发
飞书用户2634
2023年11月19日修改
介绍
什么是 Flame 引擎
Flame 引擎位于 Flutter 框架之上,使得无论平台是 iOS,Android 还是 Web,都能利用单一的代码库来创建游戏。
Flame 引擎包括优化过的组件和全面的 2D 游戏框架,包括物理引擎,因此它非常适合用于手机平台的游戏开发。
使用 Flame 引擎开发的游戏可以从 Flutter 的 Widget 框架以及 Dart 的面向对象编程范式中受益。
对 Flutter 和 Dart 有基本的理解就足够开始了。
然而,熟悉其他的面向对象语言,如 TypeScript,Java,Swift,C++ 或 C# 也可以,因为该课程将涵盖必要的 Flutter 概念。
没有关于 Flutter 框架的详细知识也没有关系,因为重要的信息将在整个课程中进行解释。
该课程包括什么内容
课程介绍和 Flame 引擎基础
•
本课程覆盖了 Flame 引擎的设置和 Flame 中典型游戏项目结构的基础知识。
•
将学习游戏循环的概念,包括更新、渲染和加载等方法。
•
将探讨 Flame 组件及其在将各种数据渲染到屏幕上的角色。
•
将使用 Visual Studio Code 进行 Flame 项目的开发。
游戏设计基础
•
本课程讨论了 Flame 引擎的架构和在构建游戏中使用组件树的方法。
这就像是组合 Lego 一样。
•
将涵盖关键的游戏组件,如文本、精灵、图像、形状、粒子、视差、操纵杆计时器、声音等。
•
将提供实际示例,说明如何组合这些组件创建完整的游戏。
Flame 高级组件和游戏设计
•
课程特别关注用于 2D 游戏的 Flame 组件,以及这些组件如何作为构建 2D 游戏的基石。
•
将指导学生创建适合 Flame 引擎架构的自定义组件。
游戏设计和编码
•
本课程强调在编码之前设计游戏的重要性。
•
将指导学生创建使命声明和架构,识别必要的组件,并设计它们的交互以实现功能正常的游戏。
项目:Atari Asteroids 游戏的克隆
•
课程项目涉及创建经典 Atari Asteroids 游戏的克隆。
•
该项目将实施粒子物理、视差计时器、操纵杆控制、音乐和音效的实际应用。
概念 vs. 代码
区分思想和软件工程与设计结果(代码)是极为重要的。
埃隆·马斯克寻找的是关注问题,而不是工具的工程师。同样,这门课程也注重理解问题,而不仅仅是编程语言。
从软件架构的角度理解游戏引擎元素背后的概念是至关重要的。
明确的概念构思形成了任何项目的基础,允许我们把项目细化为更小的元素。
这样有利于更好的分析,节省编码时间,通过文档清晰地表达出来。
代码是概念的最终产物。
它描述了完成预定任务的方式,但由于其复杂性和长度,仅从代码理解概念可能会有挑战。
因此,适当的设计和中间表述工具,例如 UML 图,对于维护和解释代码至关重要。
展示了以一个简单的代码控制屏幕上球的出现和行为的样例。