Unity c#图像未出现在UI画布面板中
我已经编写了一个方法Unity c#图像未出现在UI画布面板中,c#,unity3d,unity3d-2dtools,C#,Unity3d,Unity3d 2dtools,我已经编写了一个方法MakeCard(),该方法实例化了一个卡片预置(有一个按钮),并通过使用精灵数组的脚本向其添加一个图像,但该图像不会出现在我设置其转换的面板(“卡片池”)中。我有另一个方法有相同的代码,它显示卡(与图像)在其他一些面板(工作非常好)。但代码不适用于“卡池”面板。我甚至在日志中显示了索引和卡的名称,以检查它是否罚款和罚款。请帮忙! 编辑:如果我将卡的父面板从“手”更改为“卡池”,则显示良好,但如果我实例化该卡并将其父面板设置为“卡池”,则不会显示。希望这些信息有意义 pub
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;
}
publicsvoidmakecard(int索引)
{
打印(“制卡…”+索引);
var cardCopy=实例化(cardObj,新向量3(0,0,0),
四元数(恒等式);
var newCard=cardCopy.GetComponent();
SetFace(myData.shuffleIndex[index]);
打印(newCard.GetName());
cardCopy.transform.SetParent(GameObject.Find(“卡池”).transform);
cardCopy.GetComponent().interactiable=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);
}
}
public void DistributeMyCards()
{
对于(int-temp=myData.shuffleIndexToStartWith+12;myData.shuffleIndexToStartWith
注:这是一个MP游戏,但我想这与这个问题没有任何关系。好的,所以我发现了问题。我必须勾选与“手动面板”一样连接到面板的水平布局组组件下的
子控件大小(高度和宽度)。我建议您查看ContentSizeFitter
组件。这通常是UIs的主食。