Unity 知识点 - 2D游戏 - 透明屋顶
开发套件基于《创作者套件:RPG》
1.需求背景
- 在2D游戏场景中,角色走入房间后需要查看房间内的情况。有些大房间是直接加载另一个场景,而有些小房间直接改变房顶透明度,查看屋内情况。
2.具体方法
- 为房屋添加碰撞体组件,修改为触发器使用。结合角色的碰撞器,每次触发和离开都会调用特定函数。
- 代码放在屋顶对象或角色对象都可以,我倾向与放在屋顶对象中。
3.主要代码
private void OnTriggerEnter2D(Collider2D collision)
{
if(collision.tag == "Player")
{
transform.GetComponent<SpriteRenderer>().material.color = new Color(1, 1, 1, (float)0.5);
Debug.Log("隐藏房顶");
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if(collision.tag == "Player")
{
transform.GetComponent<SpriteRenderer>().material.color = new Color(1, 1, 1, 1);
Debug.Log("显示房顶");
}
}
public GameObject GameObject_0;
SpriteRenderer him = GameObject_0.GetComponent<SpriteRenderer>();
if (him != null)
{
him.material.color = new Color(1, 1, 1, (float)0.5);
}
|