《Unity 5.x游戏开发实战》一2.5 金币与预设体

本节书摘来异步社区《Unity 5.x游戏开发实战》一书中的第2章,第2.5节,作者: Alan Thorn 译者: 李华峰 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。###2.5 金币与预设体
现在已经搞定了金币的基本功能,但是整个场景中还需要更多的金币。上一节提出了一个简单的解决方案,但是问题是如果这么做了,当需要对金币的属性进行改变时,那么将不得不逐个对所有金币进行修改。为了避免这种繁琐的重复性工作,可以使用Unity中的预设体(Prefabs)。预设体功能可以将一个场景中的对象转换为一个项目(Project)面板上的资源。预设体通常是场景实例化中最经常需要的资源。这样做的优势就在于,当对资源进行更改的时候,可以将修改自动地应用在一个场景甚至多个场景中所有的实例上。

这样将会使得在使用自定义的资源进行工作时变得更简单,所以现在先来将金币设置为预设体。首先选中场景中的金币对象,然后将它拖曳到项目(Project)面板中。当完成了这个步骤之后,一个新的预设体就做好了。场景中的对象就会升级成为一个预设体的实例。但是这也意味着,一旦这个资源从项目(Project)面板上删除,所有该资源对应的实例也就会变得无效,如图2.22所示。


22

现在预设体已经成功创建了,可以从项目(Project)面板中向场景中拖曳预设体来创建更多的金币实例了。每一个金币的实例都和初始的预设体资源相关联,当对预设体资源做出改动时,这些改变会立刻在所有的实例上生效。按照这个思路,向游戏中添加足够的金币对象。图2.23所示为设计的金币分布。


23

这里又产生了一个新的问题,即如何才能将一个预设体的实例变回一个独立的游戏对象,而不再关联到预设体资源。这是非常有用的,例如有些时候,可能需要利用预设体来实例出一些对象,但是又不希望这些对象和预设体关联在一起。这一点也很容易实现,首先在场景中选中一个预设体的实例,然后在应用程序菜单中选中“GameObject | Break Prefab Instance”,如图2.24所示。


24

注意 

当向场景中添加了一个预设体的实例并对其进行了改动之后,如果想将这个改动应用到预设体资源中,就可以选中对象,然后在应用程序菜单中选中“Game Object | Apply Changes to Prefab”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值