Unity 硬币收藏脚本无法正确编译



好的,所以我有一个脚本应用于一个空的游戏对象以显示分数。

硬币控制器.js

#pragma strict
static var coinCount;
function OnGUI() {
var coinText = "Total Coins: " + coinCount;
GUI.Box (Rect(Screen.width -150,20,130,20), coinText);
}

以及应用于硬币对象的脚本,当玩家与硬币对象碰撞并破坏游戏对象时,该脚本应增加分数。

硬币行为.js

#pragma strict
function OnTriggerEnter(other : Collider){
   switch (Collider.gameObject.name){
     case "Character":
        CoinController.coinCount++;
        Destroy(this.gameObject);
        break;
     case "Character(Clone)":
        CoinController.coinCount++;
        Destroy(this.gameObject);
        break;
   }
}

我一辈子都无法让这段代码工作。我有脚本在 c# 中工作,但正在尝试开始使用 java。我知道语法差异很大,我很难弄清楚如何让错误消失。

static var coinCount;

在Javascript中,这将被称为对象。

CoinController.coinCount++;

如果已声明,则不能在对象上使用 ++ 运算符

#pragma strict

您的解决方案是告诉编译器coinCount是一个整数。

static var coinCount:int;

或者简单地删除#pragma strict,您将不会被强制执行您的数据类型(我个人不推荐)。

最新更新