前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

34.Switch开关(switch开关机教程)

qiguaw 2024-10-19 07:50:22 资源文章 88 ℃ 0 评论

1.调整地图

2.加入Door和Switch

添加Door和Switch到场景,并设置位置

分别给两个节点加上碰撞检测组件Box Collider 2D

3.脚本逻辑

新建脚本Switch,添加组件到Switch节点上

添加参数

public GameObject objectToSwitch; //Switch对象,即Door
private SpriteRenderer theSR; //
public Sprite downSprite; //按下后的Sprite
private bool hasSwitched; //开关是否按下

在Unity中设置指向Door,按下的Sprite图片

在Start()中初始化

void Start()
{
	theSR = GetComponent<SpriteRenderer>();
}

添加碰撞检测

private void OnTriggerEnter2D(Collider2D other)
{
  if(other.tag == "Player" && !hasSwitched)
  {
    //隐藏门
    objectToSwitch.SetActive(false);
    //设置为按下后的Sprite,设置开关为按下
    theSR.sprite = downSprite;
    hasSwitched = true;
  }
}

4.开关门

添加参数

private bool deactivateOnSwitch; //激活开关

设置门的状态时,添加判断

//门的显示隐藏状态
if (deactivateOnSwitch)
{
	objectToSwitch.SetActive(false);
}
else
{
	objectToSwitch.SetActive(true);
}

在Unity中,默认设置deactivateOnSwitch为true。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表