我在尝试从另一个脚本更改对象var时遇到了问题。我有在脚本A:
public class weapon : MonoBehaviour {
public weapon weaponOn;
private string Name;
private float Damages;
private float FireRate;
public weapon(string name, float damages, float fireRate) {
this.Name = name;
this.Damages = damages;
this.FireRate = fireRate;
}
void Start () {
weapon weaponOn = new weapon ("Rien", 0, 0);
Debug.Log (weaponOn.Name);
我正试图在脚本B中更改"武器"的名称,比如:
public class buyWeapon : MonoBehaviour {
public static weapon weaponn;
void Start () {
weaponn = gameObject.GetComponent<weapon> ().weaponOn;
}
void Update () {
if (Input.GetKeyDown (KeyCode.F)) {
weaponn.Name = "New Name"; //Doesn"t contain a definition for Name
}
}
}
如果这对你来说很容易,我很抱歉,但我迷失在"static"var"public/private"之类的东西中,我是C#的新手,所以请帮忙。提前感谢:D
Name
就是private
。使其成为public
:
public string Name;