教程分享 | 使用Unity 2D制作经典游戏《吃豆人》(1)

2015年12月29日 11:46 0 点赞 0 评论 更新于 2025-11-21 19:37

前言

本教程将详细讲解如何运用Unity制作经典游戏《吃豆人》。《吃豆人》于1980年10月首次发布,一经推出便迅速风靡全球,直至今日仍广受欢迎。值得一提的是,Unity在其UI设计中也采用了《吃豆人》的相关形象。

在本教程里,我们会充分利用Unity强大的2D功能,仅用62行代码来制作一个仿版《吃豆人》游戏。为了让大家更易理解和上手,游戏会尽可能简化,主要聚焦于迷宫、怪物、豆豆以及主角吃豆人。在本文中,我们将先为大家介绍如何创建游戏迷宫。

让我们先来看看游戏的最终效果:

相关准备

预备知识

阅读本篇教程无需太多专业知识,但需要对Unity有一定了解,熟悉GameObjects(游戏对象)、Prefabs(预制体)和Transforms(变换组件)等基本概念。

Unity版本

本教程适用于Unity 5.0.0及以上的所有版本。Unity 5以下的版本可能会出现一些兼容性问题。Unity 5是免费的,并且包含了所有必要功能,因此我们推荐大家使用该版本。

项目设置

首先,打开Unity,选择“New Project”来新建一个项目。

我们将这个项目命名为“pacman”,选择项目存储的目录,例如“C:\”,项目类型选择“2D”,然后点击“Create Project”。

在层次面板(Hierarchy)中选中“Main Camera”,将背景色(Background Color)设置为黑色,并按照下图所示调整其大小和位置。

迷宫

迷宫精灵

我们将模仿原始游戏制作一个类似的典型迷宫。

注意:您可以右键点击迷宫图片,选择“另存为”,将其保存到项目目录“Assets -> Sprites”文件夹下。保存在项目目录中的文件,可以在项目视图(Project)中查看。选中刚保存的图片后,在检视面板(Inspector)中修改导入设置。

这里需要注意,“Pixels Per Unit”值设为8,意味着游戏世界的每个单位会填充8x8像素,我们会将该数值应用于所有纹理。选择8是因为两个豆豆之间的距离是8像素,我们希望这成为游戏中的一个单位。将锚点(Pivot)设置为左上,便于后续操作。

现在,将迷宫精灵从项目视图拖拽到场景视图(Scene),查看检视面板,并将迷宫的坐标设置为(0,0)。

迷宫物理

此时的迷宫仅仅是一张图片,不具备物理性质,所以吃豆人无法在墙间游走。接下来,我们要为迷宫的每道墙添加一个Collider(碰撞体)。在检视面板中依次选择“Add Component -> Physics 2D -> Box Collider 2D”。

查看场景视图会发现,Unity默认将Collider的范围覆盖了整个迷宫,这显然不符合我们的需求。

我们希望每道墙都有单独的Collider,有两种方法可以实现:一种是编写算法基于迷宫图片来生成Collider;另一种则是简单地手动添加。

在检视面板中点击“Edit Collider”按钮(注意:只有Unity 4.6及以上版本才有此按钮),现在就可以在场景中使用绿色的点来调整Collider了。

对迷宫的每道墙都重复上述步骤,依次选择“Add Component -> Physics 2D -> Box Collider 2D”,然后点击“Edit Collider”调整各Collider的形状,使其与墙完美贴合。

保证每个Collider的形状完美至关重要。例如,绿框要完美包含蓝框。这里的诀窍是,在设置Collider的大小和中心点时,数值尽量取1.25、1.5、1.75或2.00等,避免使用1.24687或1.25788这类数值。

如果后面吃豆人被困在迷宫或无法移动,很可能是因为迷宫的Collider没有完全设置好。

调整所有Collider可能需要一些时间,最终结果如下:

至此,经典的游戏迷宫就创建完成了。在下一篇教程中,我们将教大家如何添加游戏的主角——吃豆人!请大家继续关注!

教程原文

http://noobtuts.com/unity/2d-pacman-game

作者信息

洞悉

洞悉

共发布了 3994 篇文章