【发布时间】:2021-07-12 16:14:28
【问题描述】:
我有一个问题,gameobject.enabled 不起作用,我尝试了所有方法但无法解决,如果您能帮助我,我将不胜感激。以下是我写的脚本:
在此之前,非常感谢。
代码如下:
public class GenerarCartaAleatoria : MonoBehaviour
{
public GameObject go, padre;
string numSprite;
int contador = 1;
int contadorChild;
int contadorOrder = 329;
public void Generar()
{
string numRandom = Random.Range(1,36).ToString();
int numLenght = numRandom.Length;
if (numLenght == 1)
{
numSprite = "Sprites/000" + numRandom;
}
else if(numLenght == 2)
{
numSprite = "Sprites/00" + numRandom;
}
else if (numLenght == 3)
{
numSprite = "Sprites/0" + numRandom;
}
else if (numLenght == 4)
{
numSprite = "Sprites/" + numRandom;
}
GameObject spriteCosa = Instantiate(go);
spriteCosa.transform.parent = padre.transform;
GameObject cosasa = transform.GetChild(contadorChild).gameObject;
cosasa.AddComponent<Image>();
cosasa.GetComponent<GenerarCartaAleatoria>().enabled = false;
cosasa.transform.SetSiblingIndex(0);
cosasa.name = contador.ToString();
cosasa.GetComponent<Image>().sprite = Resources.Load<Sprite>(numSprite);
cosasa.GetComponent<RectTransform>().localScale = new Vector3(1,1,0);
cosasa.GetComponent<RectTransform>().localPosition = new Vector3(-171, contadorOrder, 0);
contador++;
contadorChild++;
contadorOrder += 100;
}
}
我的层次结构:
【问题讨论】:
-
我们无法调试代码图像。请编辑您的问题以实际提供文本形式的代码。
-
只是一个旁注。在代码中使用非英语命名被认为是一种不好的做法。这让其他人更难理解代码的意图。
-
Nikkas,感谢您的建议
-
不要使用
script标签。每个 SO 问题都以一种或另一种方式与脚本有关。这并不比添加code作为标签更好。那个标签只是噪音,它过去被删除了,很快就会再次删除。