Unity3D开发学习⑨ 物品收集, Prefabs,优化代码

 

目录

 

 1.添加物品

首先想要实现物品收集应该添加物品Sprite(精灵),就像添加player一样

先找到物品贴图

 

 然后新建个Object用来装物品

 

 这里草率的将这个命名为Item

然后新建Sprite为命名为Cherry

 

 然后就可以拖入贴图到里面了

 

 别忘了设置大小

 

 然后拖入素材就可以看见了(看不见的可以调整一下SortingLayer

然后按照以前的步骤给它添加一个动画

先添加Animator组件

 

 

 

 新建个文件夹用来装Item的动画控制器

然后新建控制器

 

 选中Cherry Sprite 新建idle动画拖入图片

 

 调整采样率后搞腚

然后判断拾取需要给樱桃添加一个碰撞器(勾选触发器那种)

 

 这里元素有layer和tag两种选项

 

 为了方便识别碰撞元素的种类,应该新建tag赋予Cherry

 

 

 

 这里新建了Item tag,新建完记得设置给Cherry

然后就可以在player的代码内编辑碰撞检测了

 

 

 

 先在PlayerController中添加OnTriggerEnter2D函数

再添加一个用于计分的变量

 

 整数型默认就是0,或者你可以自定义初始值

然后才判断collision的tag,添加计分+1的代码(变量自加一)

 

 然后就可以预览一下了

 

 可以看到player碰到樱桃时,樱桃消失,脚本处显示CherryCount从0→1

 

2.Prefabs

以上添加的元素都处于一个Sense(场景)中,也就是说新建一个Sense时就只能得到一个空白的Sense,所以需要新建一个Prefabs用来储存一些明显会复用的元素(例如物品,角色)

 

 首先在根目录新建Prefabs文件夹

然后将需要复用的元素拖进去

 

 

变蓝了就说明现在它可以复用了,再新建一个物品就不需要再设置一遍动画而是可以直接拖入了

 

 

3.优化代码

为了处理之后要加上的背景(例如树木,应该有的可以遮住player,有的不能)

这就需要在图层方面新建一个Environment图层,用于放置环境相关贴图

顺便新建一个Player图层

 

 大概就这样

然后就可以新建一个Environment元素用来美化地图了

 

(稍微处理了一下

 

 

 

 

 

 

 

posted @ 2021-01-19 23:58  虚青海  阅读(436)  评论(0编辑  收藏  举报