用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;
}
求解
你现在的问题是点击了一个升级按钮,其他的升级按钮也隐藏了吗?
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m