为什么我无法从 class 访问我的脚本变量?
Why I can't access my script variable from class?
如题所说。我无法从使用同一脚本制作的 class 访问变量。
它在同一个脚本中,变量(如您所见)是 public。有任何想法吗?
尝试使用谷歌搜索 "how to access script variable from another class" 但没有找到任何东西。
代码:
public var Ludnosc = new Array();
var humanCount : int;
public class Human {
public var id : byte;
public var creatureType = "HUMAN";
public var gender : boolean; // false = k, true = m
//public var firstname : String; <- Opcja do wprowadzenia później
//public var lastname : String; <- Opcja do wprowadzenia później
public var age : byte;
public var pregnant : boolean = false;
function Breed(partner) {
if(this.age<16) {
Debug.Log("Woman with id " + this.id + " is too young to be pregnant. She must be 16 or older.");
}
else {
var success = Random.Range(0.0, makePregnantChance);
Debug.Log("Breed chance of partners with IDs [" + this.id + ", " + partner + "] was " + success*100 + "%.");
if(success>0.50) {
this.pregnant = true;
Debug.Log("Creature of type " + this.creatureType + ", with ID " + this.id + " is pregnant!");
Ludnosc.push(new Human()); //LINE 44 | tworzymy nowego czlowieczka
var tempHuman = Ludnosc[humanCount+1] as Human //LINE 45
tempHuman.id = humanCount+1; //LINE 46
tempHuman.age = 1;
var losujPlec = Random.Range(0.0, 1.0);
tempHuman.makePregnantChance = 18/tempHuman.age;
}
}
}
public var parents : byte[]; //Najpierw podajemy ID matki, potem ID ojca.
public var makePregnantChance : float;
}
错误:
Assets/TextPierwszy.js(44,33): BCE0005: Unknown identifier: 'Ludnosc'.
Assets/TextPierwszy.js(45,49): BCE0005: Unknown identifier: 'Ludnosc'.
Assets/TextPierwszy.js(45,57): BCE0005: Unknown identifier: 'humanCount'.
Assets/TextPierwszy.js(46,48): BCE0005: Unknown identifier: 'humanCount'.
您的代码:
public var Ludnosc = new Array();
var humanCount : int;
public class Human {...
实际需要:
public class Human {
public var Ludnosc = new Array();
var humanCount : int;
当然,如果它们与 class 相关,如果不是,那么您最好创建另一个 class 来容纳其他任何东西 HumanExtras
(或类似的东西),例如。
如题所说。我无法从使用同一脚本制作的 class 访问变量。 它在同一个脚本中,变量(如您所见)是 public。有任何想法吗? 尝试使用谷歌搜索 "how to access script variable from another class" 但没有找到任何东西。
代码:
public var Ludnosc = new Array();
var humanCount : int;
public class Human {
public var id : byte;
public var creatureType = "HUMAN";
public var gender : boolean; // false = k, true = m
//public var firstname : String; <- Opcja do wprowadzenia później
//public var lastname : String; <- Opcja do wprowadzenia później
public var age : byte;
public var pregnant : boolean = false;
function Breed(partner) {
if(this.age<16) {
Debug.Log("Woman with id " + this.id + " is too young to be pregnant. She must be 16 or older.");
}
else {
var success = Random.Range(0.0, makePregnantChance);
Debug.Log("Breed chance of partners with IDs [" + this.id + ", " + partner + "] was " + success*100 + "%.");
if(success>0.50) {
this.pregnant = true;
Debug.Log("Creature of type " + this.creatureType + ", with ID " + this.id + " is pregnant!");
Ludnosc.push(new Human()); //LINE 44 | tworzymy nowego czlowieczka
var tempHuman = Ludnosc[humanCount+1] as Human //LINE 45
tempHuman.id = humanCount+1; //LINE 46
tempHuman.age = 1;
var losujPlec = Random.Range(0.0, 1.0);
tempHuman.makePregnantChance = 18/tempHuman.age;
}
}
}
public var parents : byte[]; //Najpierw podajemy ID matki, potem ID ojca.
public var makePregnantChance : float;
}
错误:
Assets/TextPierwszy.js(44,33): BCE0005: Unknown identifier: 'Ludnosc'.
Assets/TextPierwszy.js(45,49): BCE0005: Unknown identifier: 'Ludnosc'.
Assets/TextPierwszy.js(45,57): BCE0005: Unknown identifier: 'humanCount'.
Assets/TextPierwszy.js(46,48): BCE0005: Unknown identifier: 'humanCount'.
您的代码:
public var Ludnosc = new Array();
var humanCount : int;
public class Human {...
实际需要:
public class Human {
public var Ludnosc = new Array();
var humanCount : int;
当然,如果它们与 class 相关,如果不是,那么您最好创建另一个 class 来容纳其他任何东西 HumanExtras
(或类似的东西),例如。