スコア表示

スコア作成

 表示領域を作成します。
 メニューから GameObject > Create Other > GUI Text を選択します。
 表示位置とフォントサイズを指定しておきます。
 仕組みが分からず苦戦しました。左下が基準(0, 0)になっています。右上が(1, 1)で座標は割合で指定するようです。
 デフォルトでフォントサイズが0なので大きくしないと確認できません。
 こんな感じになります。
 フォントサイズは画面の大きさが変化しても常に同じ大きさで表示されます。

スコア用スクリプトの準備

 スコア用の変数を格納するスクリプトを用意します。
 スコア用テキストの書き換えもここから行います。
 幾つか手間が省けるので、先ほど作成した GUIText オブジェクトに追加します。

スコア用スクリプトの記述

static var score : int;

function Update () {
  this.guiText.text = "Score : " + score;
}
 スコアは他のスクリプトから利用するグローバル変数なので static を使って宣言します。
 Update() でテキストの書き換えを行っています。
 右がその結果です。

減点

 コインを投入した時に-1となるようにコインを投下するスクリプトに次の一行を追加します。
  if (Input.GetMouseButtonDown(0)){
    Instantiate(coin, transform.position, transform.rotation);
    Score.score -= 1;//Add
  }
 グローバル変数は『スクリプトファイル名.変数名』でアクセスできます。

加点

 前回の衝突判定を元に、衝突するオブジェクト、衝突処理を追加します。
 
function OnCollisionEnter(colInfo : Collision){
  Destroy(colInfo.gameObject);
  Score.score += 1;
}
 ・・・UnityEngine. なくても動いた。
 ますます謎が深まったけれど、これで完成です。