我正在制作简单的游戏,但我不知道如何在代码中更改颜色。 我有“父母”游戏对象,打算在其中附加脚本以更改子元素的颜色。
例如,我有这个:
Parent:A
Childs in A = 1,2;
我想获取所有2个元素,并将第一个孩子的颜色更改为黑色,第二个为白色。
我想在更改颜色时更改标签,以便获得随机颜色 在孩子身上。
我不知道如何才能让那个父母的两个孩子改变财产。
我可以将孩子的名字命名为1和2,然后从代码中查找游戏对象名称为1的孩子,并更改color属性,如果可以的话?
答案 0 :(得分:2)
下面的代码是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);
}
}