为了账号安全,请及时绑定邮箱和手机立即绑定

Unity C#图像未出现在UI画布面板中

Unity C#图像未出现在UI画布面板中

C#
www说 2021-05-13 18:21:00
我已经编写了一种方法MakeCard(),该方法可实例化卡片预制件(带有按钮),并通过使用精灵数组的脚本向其中添加图像,但是该图像不会出现在我所在的面板(“卡片池”)中将其转换设置为。我有另一种具有相同代码的方法,它在其他面板中显示卡(带有图像)(工作正常)。但是该代码不适用于“卡片池”面板。我什至在日志中显示索引和卡的名称,以检查其是否正常。请帮助!编辑:如果我将卡的父面板从“手”更改为“卡池”,它将显示正常,但是如果我实例化卡并将其父设置为“卡池”,则不会显示。希望此信息有意义! public void MakeCard(int index) {    print("Making Card..." + index);    var cardCopy = Instantiate(cardObj, new Vector3(0, 0, 0),     Quaternion.identity);    var newCard = cardCopy.GetComponent<Card>();    newCard.SetFace(myData.shuffleIndex[index]);    print(newCard.GetName());    cardCopy.transform.SetParent(GameObject.Find("Card Pool").transform);    cardCopy.GetComponent<Button>().interactable = false; }另一个可以正常工作的代码是:public void DistributeMyCards(){    for(int temp = myData.shuffleIndexToStartWith + 12; myData.shuffleIndexToStartWith < temp; myData.shuffleIndexToStartWith++)    {        //localHand.Add(myData.shuffleIndexToStartWith);        Debug.Log("inside for: " + myData.shuffleIndexToStartWith);        var cardCopy = Instantiate(cardObj, new Vector3(0, 0, 0), Quaternion.identity);        var newCard = cardCopy.GetComponent<Card>();        newCard.SetFace(myData.shuffleIndex[myData.shuffleIndexToStartWith]);        cardCopy.transform.SetParent(GameObject.Find("Hand").transform);        var owner = cardCopy.GetComponent<CardOwner>();        owner.photonPlayer = PlayerNetwork.Instance.me;        owner.setCardId(myData.shuffleIndexToStartWith);        if (!PhotonNetwork.isMasterClient)        {            DisableThrowLocal(cardCopy);        }        localHand.Add(cardCopy);    }}PS。它是MP游戏,但我想与这个问题没有任何关系。
查看完整描述

1 回答

?
米脂

TA贡献1836条经验 获得超3个赞

好的,所以我发现了问题。我必须child controls size像“手动面板”一样,将附加到面板的水平布局组组件的(高度和宽度)打勾。


查看完整回答
反对 回复 2021-05-29
  • 1 回答
  • 0 关注
  • 277 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信