クリックでコインを量産

コイン製造機

 まずコインが発生する場所を作ります。
 デフォルトキューブに赤色をつけてみました。
 このキューブは目安であり物理的な干渉はして欲しくないので Box Collider のチェックを外しておきます。

スクリプト準備

 今回は Project Tab から作成します。
 Create > JavaScript でスクリプトファイルを作成します。
 普通のスクリプトはファイルを作っただけでは働きません。
 オブジェクトにくっつけて初めて有効になります。
 スクリプトファイルを先ほど作成したキューブへドロップします。
 これでスクリプトが働くようになりました。

スクリプトからプレハブを利用できるようにする

 コイン Prefab を利用する前準備が必要です。
#pragma strict

var coin : GameObject;

function Start () {
 まずコインプレハブを格納する変数を定義します。
 一旦 Unity に戻ってスクリプトの欄を見ると Coin None(GameObject)◎ という列が増えていると思います。
 更新に時間がかかる場合があります。
 ◎を押して Coin.prefab を選択します。
 これで変数 coin にコインプレハブが格納されました。
 スクリプトで小文字にしてもUnityでは大文字で表示されていますが、スクリプトでの記述が正しく、大文字を混在させないよう注意が必要です。
 宣言とか継承とかインスタンスとかクラス周辺の単語の正しい使い方を理解していないので誤解を生まないよう使用を避けました。

コイン投入

 重いですがスクリプトファイルをダブルクリックで MonoDevelopper を起動します。
function Update () {
  if (Input.GetMouseButtonDown(0)){
    print("Clicked!");
  }
}
 左クリックで何か起こすスクリプトです。
 試しに実行した結果が右です。
 次に print(); 行の部分にインスタンスを生成するスクリプトを記述します。
    Instantiate(coin, transform.position, transform.rotation);
 実行するとクリックするたびにコインが量産されます。

投入口の移動

  transform.position.z = Mathf.Sin(Time.time) * 2.5;
 上の行で2πs周期で-2.5~2.5の往復運動をするようになります。

落ちたコインを消す

 台から落ちたコインは不要になるので消去する必要があります。
 ここではY座標がある値より小さくなったら消去するようにします。
 スクリプトファイルを作成して、コインのプレハブへドロップします。
 Inspector に追加されます。
 当然ですが Prefab に直接追加することも可能です。
 スクリプトの中身は以下の通りです。
function Update () {
  if (transform.position.y < -5){
    Destroy(this.gameObject);
  }
}
 座標で条件分岐して壊してあげればOKです。
 若干コインの動きに不満がありますが調整は最後にします。