Akuyi 2021-06-17 18:48 采纳率: 0%
浏览 52

Unity同种物体其中一个物体上的button被隐藏后其他物体上的button也被隐藏该如何解决?

 

用unity制作塔防游戏(模仿siki学院的教程视频制作,但是我的出现了问题),每个炮塔都有一个升级(Upgarde)按钮和一个拆卸(Destroy)按钮,如果将其中一个炮塔拆卸,其他炮塔的升级按钮均失效(即不能升级),拆卸按钮仍然可以正常使用,感觉可能是代码的问题。我想要的是每个炮塔升级一次后该炮塔的升级按钮失效(即每个炮塔只能升级一次),拆卸按钮可以正常使用,其余未升级的炮塔的升级按钮也可以正常使用

使用的unity的版本是2017.2.0f3,使用vs2019编写代码(c#),下面附上相关代码:

隐藏button相关

IEnumerator HideUpgardeUI()
    {
        upgradeCanvasAnimator.SetTrigger("Hide");
        //upgradeCanvas.SetActive(false);
        yield return new WaitForSeconds(0.2f);
        upgradeCanvas.SetActive(false);
    }

    public void OnUpgradeButtonDown()
    {
        selectedMapCube.UpgradeTurret();
       //HideUpgardeUI();
        StartCoroutine(HideUpgardeUI());
    }
    public void OnDestroyButtonDown()
    {
        selectedMapCube.DestroyTurret();
        //HideUpgardeUI();
        StartCoroutine(HideUpgardeUI());
    }

升级和拆卸的方法:

public void UpgradeTurret()
    {
		if (isUpgraded == true) return;//已经升级过了

		Destroy(turretGo);
		isUpgraded = true;
		turretGo = GameObject.Instantiate(turretData.turretUpgradedPrefab, transform.position, Quaternion.identity);
	}

	public void DestroyTurret()
    {
		Destroy(turretGo);
		isUpgraded = false;
		//isUpgraded = true;
		turretGo = null;
		turretData = null;
	}

 求解

  • 写回答

2条回答 默认 最新

  • 陈言必行 领域专家: 游戏开发技术领域 2021-06-18 10:41
    关注

    你现在的问题是点击了一个升级按钮,其他的升级按钮也隐藏了吗?

    评论

报告相同问题?