我制作了一个包含很多变量的角色类,很久以前我制作了一个RPG,其中我有一个方法来装备齿轮并取消它,添加和减去值,非常简单,我会:
public void equip(Gear g){
increaseValues(g.getValue());
//increaseValues..
}
public void unequip(Gear g){
increaseValues(-g.getValue());
//increaseValues..
}
非常基本,我可以在Unity中做同样的事情,但问题出现在哪里,在OOP我会用值和方法创建一个类,但统一的趋势是创建脚本并将它们作为组件添加到另一个类,因此我不知道如何访问对象嵌入组件的信息,我在参数中传递了什么?我试过GameObject,但它告诉我,我试图访问的值或方法不存在于这样的对象中。
答案 0 :(得分:3)
您可以通过GameObject
方法访问其他GameObject.GetComponent(Type type)
个脚本。
public GameObject myGameObject; //Attach gameobject in Unity Editor
private MyClass myGameObjectClass;
void Start() {
myGameObjectClass = myGameObject.GetComponent<MyClass>();
//or you could use this
//myGameObjectClass = myGameObject.GetComponent(typeof(MyClass)) as MyClass;
myGameObjectClass.MyProperty = 2;
myGameObjectClass.MyMethod();
}