Unity Coin Collection脚本无法正确编译

时间:2014-01-17 02:19:47

标签: unity3d unityscript

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

CoinController.js

#pragma strict
static var coinCount;

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

和一个应用于硬币对象的脚本,当玩家与其发生碰撞并破坏游戏对象时应该增加分数。

CoinBehavior.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。我知道有很大的语法差异,我无法弄清楚如何使错误消失。

1 个答案:

答案 0 :(得分:0)

static var coinCount;

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

CoinController.coinCount++;

如果已声明

,则不能在Object上使用++运算符
#pragma strict

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

static var coinCount:int;

或只是删除#pragma strict,您不会对您的数据类型强制执行(我个人不建议这样做)。