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

Posted

技术标签:

【中文标题】Unity c#图像未出现在UI画布面板中【英文标题】:Unity c# Image not appearing in UI canvas panel 【发布时间】:2018-10-15 17:02:33 【问题描述】:

我编写了一个方法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游戏,但我想这与这个问题没有任何关系。

【问题讨论】:

我建议你看看ContentSizeFitter 组件。这通常是 UI 的主要内容。 【参考方案1】:

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

【讨论】:

以上是关于Unity c#图像未出现在UI画布面板中的主要内容,如果未能解决你的问题,请参考以下文章

Unity UI框架思路与实现

使用 Unity 5 UI 进行捏合缩放

在 HTML 画布上绘制的线条未出现在触摸事件中

将图像应用到 Unity UI 面板

Unity3D:模糊 UI 画布的背景

unity_UI相关