天天看点

《Unity 5.x游戏开发实战》一2.3 对金币进行计数

本节书摘来异步社区《unity 5.x游戏开发实战》一书中的第2章,第2.3节,作者: alan thorn 译者: 李华峰 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。

如果整个场景里只有一个金币,那么这个金币采集游戏就有些名不符实了。本游戏的核心设计思路就是在一个关卡中应该包含很多个金币,玩家应该在系统计时结束前收集完这些金币。现在,如果想要知道玩家是否将所有的金币都收集齐了,首先得先知道这个场景中总共有多少个金币。毕竟如果不知道金币的总量,也就无法知道是否已经将所有的金币收集全了。所以,第一个任务就是通过coin类来轻松地知道任意时刻金币的总数。下面给出实现这一功能的coin类,具体的如代码示例2.3所示。

下面就代码示例2.3进行以下几点总结。

coin类中有一个静态的成员变量——coincount。这个变量是静态的,可以被这个类的所有实例所共享。该变量中记录了场景中金币的总数,类中的每个实例都可以访问该变量。

每当场景中的一个金币游戏对象被创建时,就会自动调用start()函数。在场景启动时调用start函数就可以设定游戏初始的金币。每当初始化一个实例,这个函数就会将其中的变量coincount的值加1,从而完成对所有金币的计数。

每当一个游戏对象被销毁时,就会自动调用ondestroy()函数。每当一个金币被销毁之后,这个函数就会将其中的变量coincount的值减1,从而将金币总量减少1个。

代码示例2.3中包含了一个变量coincount,利用这个变量可以知道金币的总量。查询这个值就可以轻松地获得当前金币的总量。现在已经完成整个金币采集功能工作的第一步了。

继续阅读