Session10:物品收集&Prefabs
创建物体
这节课我们开始放置物品到地图中,角色吃到了可以加分。
利用前面创建人物的方法,将素材包里的樱桃创建到场景中(创建一个2D精灵然后把图片拖到sprite),然后为其添加一个animator组件,这个组件需要一个animator controller,那就再创建一个,然后就可以在Animation窗口创建动画了,将Cherry的系列图片拖过去,设置Samples,就OK了。
因为人物要能吃到樱桃,所以需要为它创建一个collider,调整碰撞体大小,并勾选is trigger,然后写代码:
public int score;
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.tag == "Collection")
{
Destroy(collision.gameObject);
score++;
}
}
这里要为Cherry创建一个标签,用于判断碰撞到的物体类型。
Prefabs
因为我们需要很多樱桃,并且要保证它们的参数都相同,这里我们就可以用到prefabs即预制体,创建一个专门的文件夹,然后将hierachy窗口中的物体拖到文件夹里,就会自动成为prefabs:
在这里调整参数,可以应用到场景中所有以prefabs为原型的物体。
丰富场景
为了场景中能够显示更多的物体,我们可以创建很多Layer,通过Layer的顺序调整它们的显示顺序。同一Layer可以调整Order in Layer的大小来调整显示顺序。