首页 > 编程语言 > 详细

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

时间:2021-01-20 09:32:37      阅读:56      评论:0      收藏:0      [点我收藏+]

 

目录

技术分享图片

 

 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元素用来美化地图了

 

(稍微处理了一下

 

 技术分享图片

 

 

 

 

技术分享图片

 

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

原文:https://www.cnblogs.com/xqher/p/14300751.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!