Wil*_*ald 1 unity-game-engine unityscript
我统一使用了这些代码,并且收到了此错误。“运算符 > 不能用于左侧的‘对象’类型和右侧的‘对象’类型。对我来说,这就像游戏引擎的统一脚本中的一个错误,你怎么看??
var PlayerNames = ["john","doe","potato"];
var PlayerScores = [3,2,5];
if(PlayerScores[1] < PlayerScores[0])
print("potato");
Run Code Online (Sandbox Code Playgroud)
UnityScript 和 Javascript 之间存在差异。在 JavaScript 中,不需要将变量调用到类中。因此,您向我们展示的代码是正确的。
但是,这在 UnityScript 中是不正确的。您需要声明变量的类。看这个例子:
function Machine(x) {
this.kind = ["bulldozer", "lathe", "car"][x];
}
var c = new Machine(2);
print(typeof c.announce); // "undefined"
Machine.prototype.announce = function() {
print("I am a "+this.kind+".");
};
print(typeof c.announce); // "function"
c.announce(); // prints "I am a car."
Run Code Online (Sandbox Code Playgroud)
如上所示,在 JavaScript 中,当使用 new 关键字调用时,函数可以创建对象。在那之后,原型(模板)对象 Machine 可以扩展以提供附加功能,并且所有类实例,过去和未来,都受此扩展的影响。
与 JavaScript 不同,UnityScript 有类。此外,在 UnityScript 中,一旦您定义了一个类,该类在您的程序运行期间或多或少是固定的。(注意,此规则可能有一些例外,例如反射,但您可能不需要它,也不应该使用它,因为它效率不高。)但是,类系统具有额外的好处,即更易于使用-阅读,更熟悉(对大多数)语言。
class Machine {
var kind : String; // fields are public by default
function Machine(x : int) {
this.kind = ["bulldozer", "lathe", "car"][x];
}
function announce() {
print("I am a "+this.kind+".");
}
}
print(typeof Machine.prototype); // causes a compile-time error
var c = new Machine(2);
c.announce(); // prints "I am a car."
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1011 次 |
| 最近记录: |