C# 如何更改父元素的子属性?
我正在做一个简单的游戏,我不知道如何在代码中改变颜色。 我有一个父游戏对象,我计划在其中附加脚本以更改子元素的颜色 例如,我有:C# 如何更改父元素的子属性?,c#,unity3d,game-development,C#,Unity3d,Game Development,我正在做一个简单的游戏,我不知道如何在代码中改变颜色。 我有一个父游戏对象,我计划在其中附加脚本以更改子元素的颜色 例如,我有: Parent:A Childs in A = 1,2; 我想得到所有2个元素,并将第一个子元素的颜色更改为黑色,第二个子元素的颜色更改为白色 我想改变标签,当我改变颜色,所以我可以实现随机颜色 在孩子们身上 我不知道我怎样才能让父母的两个孩子换房子 我能把孩子们命名为1和2,然后从游戏对象名为1的孩子的代码中查找并更改颜色属性吗?如果可以的话,我该怎么做 下面的代码
Parent:A
Childs in A = 1,2;
我想得到所有2个元素,并将第一个子元素的颜色更改为黑色,第二个子元素的颜色更改为白色
我想改变标签,当我改变颜色,所以我可以实现随机颜色
在孩子们身上
我不知道我怎样才能让父母的两个孩子换房子
我能把孩子们命名为1和2,然后从游戏对象名为1的孩子的代码中查找并更改颜色属性吗?如果可以的话,我该怎么做 下面的代码部分是GetProperty方法的一个快速示例用法。简单使用 MyGetProperty和MySetProperty如下所示。请记住,字符串引用的变量必须是属性
public class Parent {
private int child1 = 0;
private int child2 = 0;
public int iChild1 {
get {
return child1;
}
set {
child1 = value;
}
}
public int iChild2 {
get {
return child2;
}
set {
child2 = value;
}
}
public void MainMethod() {
MySetProperty("iChild1",1);
MySetProperty("iChild2",2);
string strOutput = String.Format("iChild1 = {0} iChild2 = {1}",MyGetPrperty("iChild1"), MyGetPrperty("iChild2"));
}
public object MyGetProperty(string strPropName)
{
Type myType = typeof(Parent);
PropertyInfo myPropInfo = myType.GetProperty(strPropName);
return myPropInfo.GetValue(this, null);
}
public void MySetProperty(string strPropName, object value)
{
Type myType = typeof(Parent);
PropertyInfo myPropInfo = myType.GetProperty(strPropName);
myPropInfo.SetValue(this, value, null);
}
}
Child C=gameObject.GetComponent(typeof(Child))作为子对象代码>这有帮助吗?好的,那么您可以通过查看转换来获得子项,通过一些检查,您可以使用transform.GetChild(n)
获取第一个子项,或GetComponentsInChildren()编码>然后设置属性