Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
1127塔防游戏教程中,升级面板显示无效
guiyaoyao发起了问答2019-04-18
3
回复
1081
浏览

提前拖到场景中的ui是正常显示的,运行状态下也可以显示

但是运行游戏时,在已经放了炮台的地方再次点击,代码倒是正常运行了,但是ui完全不显示,数据也没有缺失,也没有error

debug能看到代码正常执行

 /**显示升级ui,升级按钮是否需要禁用*/
    public void showUpgradeUI(Vector3 pos, bool isdisableUpgrade = false) {
        Debug.Log("显示升级");
        StopCoroutine("hideUpgradeUI");
        UpgradeCavans.SetActive(false);
        UpgradeCavans.SetActive(true);
        UpgradeCavans.transform.position = new Vector3(pos.x, 3, pos.z);
        UpgradeButton.interactable = !isdisableUpgrade;
    }

 

所有回复
  • 老师_Trigger 2019-04-18

    同学你好,如果方法有执行输出,那么双击没有显示的UI,看看它在哪里,检查一下:

    1.是不是我们的位置变化了,或者设置了父对象。

    2.是不是UI透明度设置为0了。

    • guiyaoyao 2019-04-18

      仔细捋了一遍发现老师的逻辑是在场景中放一个UpgradeCanvas并让它不可见,在需要的时候显示在需要的地方,而我把这个canvas做成了prefab,然后去引用它,运行的时候没有在场景中放这个UpgradeCanvas,所以代码运行正常,但是看不到对应的UI

      (0) 回复
    • 老师_Trigger 2019-04-18

      回复 @ guiyaoyao: 如果是使用prefab,那么是需要实例化的,没有实例化就没有,另外,如果实例化了之后要确保位置是正确的。

      (0) 回复
    还有-3条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!