コインドーザーの作成3

つづきです

 

次にボタンを押すとコインが落ちる仕組みを作成する

まず,

  1. GameObject>UI>Button でボタンを作成する
  2. ゲーム画面にボタンが表示される
  3. ヒエラルキーで作成されたボタンを選択する
  4. ボタンの位置調整をする.まず,右上を基準モードにする(画像1,2の順に選択)
  5. 次にゲーム画面を見ながら位置を調整し,画面の右端に移動させる(値は各自で自由に設定すること)
  6. GameObject>Create Emptyで空のオブジェクト(位置情報のみのオブジェクトになる)を作成する.後でこの位置からコインを生成させるための準備
  7. 名前はに変更しておくこと
  8. 参考の位置
  9. Asset内で右クリック>Create>C# Scriptを作成し,名前をcoin_genにする
  10. coin_genを開きスクリプトエディタ(Visual Studio等)を開き中身を以下に入れ替える

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine; 

public class coin_gen : MonoBehaviour { 
public Transform spawnpos;//インスペクタに位置情報用のドロップボックスを表示 
public GameObject coninPrefab;//プレファブをアサインするドロップボックスを表示 

void Start () { }
 
// Update is called once per frame 
void Update () { } 


//public化することでボタンからクリックで実行きるようになる 
public void genBtn(){
 Vector3 pos = spawnpos.transform.position;//spawnposの位置をvector3形式にし,posに入れる 
Instantiate(coninPrefab, pos, Quaternion.identity);//coninPrefabを生成させる
 } 
}

 


  1. 再度空のオブジェクトを作成し,名前をscriptに変更する
  2. 作成したcoin_genをscriptにアサインする
  3. インスペクタに表示されたspawnposにspawnPointをアサインする
  4. (下図を確認)
  5. HierarchyにあるcoinをAssetsにドロップする. coinがPrefab化(青い色に変わる)する.Hierarchyのcoinはこの段階で取り除く
  6. ヒエラルキーにscriptを選択し,coinPreをCoinPrefabをにアサインする
  7. ゲームを再生し,ボタンを押しコインが落ちてくるのを確認する

 

時間があればさらに改造してみましょう.

 

追記(2018/10/12)

落ちてきたコインを消すスクリプト.コライダにアタッチする.ファイル名はdestroy.csとする.

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 

public class destroy : MonoBehaviour { 

public void OnTriggerEnter(Collider other){ Destroy(other.gameObject); } 

}

 

追記(2019/12/03)

move-blockがコインで弾かれる方は以下の設定をする

(A)move-block>RigidBody>Constrain のFreeze PositionをZ以外に全てチェックを入れる

(B)Coin(Prefab)のRigidBodyのMassをなるべく軽くする(0.05 kg)など