转载请保留原文链接:https://blog.csdn.net/zzx023/article/details/83063363
上一节我们完成了鱼的运动代码的编写,这一节我们主要需要通过预制体和单例实现将鱼放置到场景当中。
看起来将鱼放置到场景中是个很简单的事情,你可以说,上一节我已经知道怎么做出一只游来游去的鱼了,那我一只一只的按照之前的方法将它们放到场景中就可以了啊!
但是,你不知道玩家能够挑战多长的时间,对于小白玩家来说,可能他只能挑战几秒钟的时间,这种情况下你尚可以通过老方法去一个一个的放置鱼,但假设有一个游戏高手,他能够无限长的时间进行游戏,那你的鱼理论上也需要放置无限多个,怎么办?
这个时候我们就需要Prefab预制体了。
Prefab是什么?
它是储存在项目中的一种可以被反复克隆使用的游戏对象,当游戏中需要非常多反复使用的对象、资源时,Prefab可以帮助快速的生成这些相同或者相似的游戏资源。例如子弹、怪物等等。
Prefab拥有以下特点:
- 能够放到多个场景中,也可以在同一个场景中重复多次放置
- 当把Prefab加入到场景时,实际上时创建了一个新的实例,该实例本质上是Prefab的克隆
- 当Prefab选择了自动同步时,无论场景中放置了多少Prefab实例,只要修改Prefab,所有实例都会保持同步。
关于Prefab,可以参考官方文档:
http://docs.cocos.com/creator/manual/zh/asset-workflow/prefab.html
OK,接下来我们来进行Prefab的制作。
在cocoscreator中,prefab的制作很简单,在场景中编辑好节点后,直接使用鼠标,将节点从层级管理器拖到资源管理器,即可