购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 Beta版本

目前,游戏中老鼠的数量只有1个,猫的捕捉目标太少,并且老鼠的种类也只有1种,角色模型的种类太单一,游戏的玩法不够有趣。另外,游戏的奖励只有金币1种,这导致游戏的经济系统不完善。因此,这款游戏还无法给玩家足够的激励。

为了让玩家们有足够的动力,也为了发布游戏的第一个版本,下面将给《猫捉老鼠》加一个初级的捕捉玩法。本节内容将沿着捕捉玩法这条主线展开,从设计玩法到界面制作,再到代码实现,一步步地实践。最后,本节将发布《猫捉老鼠》的第一个版本。

接下来梳理本节要实现的具体内容。

具体来说,本节将把老鼠的种类拓展为3种,当猫捕捉到不同种类的老鼠时,玩家将获得不同种类的奖励,包括金币、蓝钻和红钻。

沿着主线,我们继续吧。

1.4.1 调整界面

1.计分界面

(1)把计分面板Panel的锚点Anchor调整到左上布局,以保证计分面板Panel的位置会一直固定在游戏界面的左上角。

(2)把金币图标和金币数量的锚点Anchor均调整到左上布局,以确保扩大或缩小计分面板Panel的尺寸时,金币图标和金币数量文本的位置将始终固定在计分界面的左上角。

(3)把计分面板Panel、金币图标Image_coin和金币数量文本Text_coin的大小调整到一个合适的尺寸,图1-52所示是计分界面的各个组件的具体尺寸。

图1-52 组件尺寸

这里需要说明一点,要把金币数量文本拖到金币图标下面,让金币数量文本成为金币图标的子物体,Text_coin的具体设置如图1-53所示。

图1-53 Text_coin的具体设置

最后补充一点,为了凸显游戏角色和游戏界面,还要把地面的颜色调整为黑色,如图1-54所示。

图1-54 调整地面的颜色

2.3种奖励

根据捕捉玩法的具体实现内容,这款游戏的奖励种类被扩展成3种——金币、蓝钻和红钻。

下面添加蓝钻的图标和数量文本以及红钻的图标和数量文本,此处因为这两者的添加操作和金币的一样,所以此处不再赘述。

图1-55所示是计分界面的最终效果。

图1-55 计分界面的最终效果

3. 3种老鼠

图1-56所示是在工程面板中的3种老鼠的模型,需要把这3种老鼠拖进结构面板,也就是拖进游戏场景,再将它们按照一字排列在地面上。

图1-56 3种老鼠

1.4.2 捕捉玩法

3种游戏奖励的界面制作完成了,3种老鼠模型也导入了游戏场景。下面将编写代码,实现捕捉玩法的逻辑。

为了方便读者梳理并修改游戏逻辑,这里将所有的游戏逻辑写进主控脚本中,即写进脚本MaoController中。

首先,新增变量。

既然游戏界面中新增了两种奖励组件,代码中自然也要增加两个奖励变量,以保证代码中的3个奖励变量能分别对应计分界面中的3种奖励组件,这3种奖励分别是金币、蓝钻和红钻。

另外,游戏场景中还新增了两种老鼠模型,代码中自然也要增加两个老鼠变量,以保证游戏场景中的3种老鼠模型能分别对应代码中的3个老鼠变量,同时代码中还将这3个老鼠变量分成了3个等级,这3个等级分别是一级、二级和三级。

在脚本MaoController中,新增变量的代码如下所示。

其次,新增逻辑。

捕捉玩法规定的计分逻辑一共有3条。

(1)当猫捕捉到1只一级老鼠时,玩家的金币数量将立即加1。

(2)当猫捕捉到1只二级老鼠时,玩家的蓝钻数量将立即加1。

(3)当猫捕捉到1只三级老鼠时,玩家的红钻数量将立即加1。

可见,3个等级的老鼠分别对应3种奖励。因此,对于这3种情况,代码要分开来写,不可混淆。

最后,随机位置。

老鼠被猫捉到以后,会逃跑到重生区域内的一个随机位置,重生区域是地面上从(0,0)点到(4,4)点的矩形区域。随机位置的逻辑代码如下所示。

到这里,代码就写完了。

回到Unity,如果你的代码编写正确,则脚本组件上会刷新出上文新增的变量,如图1-57所示。

图1-57 代码编写正确的效果

1.4.3 关联物体

脚本组件中新增的变量都是空的,需要为每个空变量拖入物体,进行赋值操作,如图1-58所示。

图1-58 为变量赋值

实践完上述步骤以后,不要忘记测试新增功能。这里再提示一下测试的两个要点:第一,测试新增功能是否缺少功能点;第二,测试新增功能是否正确。如果忘记了,可以回顾“1.3.3试运行”小节。

测试完成,新增功能正确。当猫捕捉到一只一级老鼠时,玩家的金币数量会立即加1;当猫捕捉到一只二级老鼠时,玩家的蓝钻数量会立即加1;当猫捕捉到一只三级老鼠时,玩家的红钻数量会立即加1。

脚本MaoController的最终代码如下所示。

1.4.4 大功告成

前面分离了3种老鼠的逻辑代码,到这里,《猫捉老鼠》游戏的捕捉玩法终于完整地实现了!

现在,继续进行第二次测试。

运行Unity,如果游戏报错,则首先看一下信息面板Console中的报错信息,分析其原因,改正后再继续。

通过解决一个真实的报错,完成一遍测试、诊断并修改错误的流程。

1.打开信息面板

检查信息面板Console是否打开,如果没有,可以通过图1-59所示的方式打开信息面板Console。

图1-59 打开信息面板Console

2.了解信息面板

要分析报错,首先应该了解信息面板,其简单介绍如图1-60所示。

图1-60 了解信息面板

信息面板提供了3类信息,分别是日志信息、警告信息和报错信息。其中,需要重点说明的是报错信息。报错信息用红色标识,单击报错信息可以展开报错详情面板,如图1-61所示。

图1-61 报错详情面板

3.分析报错并诊断错误

分析报错之前,要先看报错信息的结构,如图1-62所示。Unity把报错信息分为两个部分:报错类型和报错信息。

图1-62 报错信息的结构

因为报错信息的意思是脚本MaoController的一级捕捉目标没有指定一个合理的引用物体,所以报错类型是未指定引用异常。

最终的诊断结论是,脚本MaoController中的一级老鼠变量缺失了外部指定的一级老鼠模型。

4.修改错误

停止运行游戏,定位到猫的脚本组件Mao Controller,不难发现,组件中的一级老鼠变量Target0确实没有引用模型,把一级老鼠模型指定给一级老鼠变量Target0,如图1-63所示,错误修改完毕。

图1-63 重新指定

《猫捉老鼠》游戏的捕捉玩法实现了,如图1-64所示。至此,大功告成!

图1-64《猫捉老鼠》游戏最终效果

最后,把工程文件存储为TomAJerry。

大家也可以打开本书下载资源文件GameProjects>Article1>Chapter1>TomAJerry1,查看作者的操作结果,印证自己的操作。 Ew23YbeUItY4jmtTkQ+miUQZyVfLKqSImKYpt5wblxXpcxsVP5SanWgXn/obht6Y

点击中间区域
呼出菜单
上一章
目录
下一章
×