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元素用来美化地图了
(稍微处理了一下