本次Unity的学习将跟随 M_Studio 的“Unity2018教程2D入门“进行学习
1月19日已经观看了该教程的8-10
卡地图问题
卡地图是因为之前使用的都是方形碰撞盒子,地面也是一块一块的,当两个角角碰到一起卡住之后,就会卡住不动。
如果将腿部的碰撞盒子变为圆形就可以规避这个问题,最终效果为:当
然要记得把检测碰撞这里换成腿部的碰撞器
隐藏选项
像这样选项很多的时候,可以将public,换为private,就可以隐藏它,比如Rb和Animator就是经常不动的变量,就可以隐藏掉,变为private之后,需要在void start{}内添加GetComponent初始化。
void Start()
{
rb = GetComponent<Rigidbody2D>();
animator = GetComponent<Animator>();
}
镜头控制
为了方便让摄像头和角色一直绑定,可以直接使用Cinemachine组件,可以在windows内的Package Manager。
第一次打开可能是这个
不管是啥,选择这个Unity Registry
向下找到Cinemachine,安装,但是新版本不会出现在顶部。可以在Hierarchy右键添加Cinemachine下的2D Camera
在这个新摄像头内,将小狐狸拖到Fllow内
物品收集
制作一个可以搜集的物品很简单,找到樱桃和宝石拖入场景,添加动画和碰撞题,记得将碰撞体的is Trigger勾选。
最后添加可以检测碰撞,然后销毁收集物,然后计数器加一。
首先声明两个int的变量,记得初始化为0;然后用OnTriggerEnter2D这个方法体,这时需要去添加tag也就是标签一类的。
private void OnTriggerEnter2D(Collider2D collision)
{
if(collision.tag == "Collection_Cherry")
{
Destroy(collision.gameObject);
Cherry ++;
}
if (collision.tag == "Collection_Gem")
{
Destroy(collision.gameObject);
Gem++;
}
}