KoschyExpress

Vol.12 Unityで電車を走らせる【スピードボタンの追加】

「Unityで電車を走らせる」第12回目です。
前回は電車の加速と減速をキーボードで調整できるように、スクリプトを追記しました。

 

前回の動画はこちら

 

そこで今回は、前回分を応用し、PC画面にボタンを作成、配置し、そのボタンをマウスでクリックすることで、電車のスピードを調整できるようにしてみましょう。

作成の手順としては次のようになります。

・ボタンの作成。画面上にボタンを表示させる。
・スクリプトを追記。画面のボタンを押すことで、電車のスピードを調整できるようにする。
・動作テスト

ボタンを作成する。

まずはボタンを作成しましょう。ボタンは 2 種類(加速と減速)を用意します。Hierarchy > Create > UI > button の順にすすめます。細かな設定は次の通りです。

・加速ボタン
Anchor Presets : left / bottom
Pos X : 30 Pos Y : 80 (Pos Z : 0 のまま)
Width : 50 Height : 50
Source Image : Knob
Color : #00ff55ff
Text : Go
Font Size : 16

・減速ボタン
Anchor Presets : left / bottom
Pos X : 30 Pos Y : 30 (Pos Z : 0 のまま)
Width : 50 Height : 50
Source Image : Knob
Color : #ff0000ff
Text : Stop
Font Size : 16

これでゲーム画面の左下に緑色のボタンと赤色のボタンができあがりました。

次にスクリプトを追記しましょう。追記内容は次の通りです。

スクリプトの追記


void GotoNextPoint() {
if (points.Length == 0)
return;
agent.destination = points[destPoint].position;
destPoint = (destPoint + 1) % points.Length;
}

//追記箇所
public void GoButtonDown() {
agent.speed += 5f;
}
public void StopButtonDown() {
agent.speed -= 5f;
}
//追記箇所終わり

これでスクリプトを追記は終わりました。

次にボタンの設定をします。GoButton の Inspector にある On Click () を探してしてみてください。Inspector 欄の下のほうにあります。

この On click 欄の右下にある + を押すと次のような画面が現れます。

None (Object) に Hierarchy から Train をドラッグ&ドロップします。すると No Function の部分が選択できるようになるので、TrainController > GoButtonDown を選びます。

これで、Go ボタンの設定が終わりました。Stop ボタンも同様に設定しましょう。No Function の部分は TrainController > StopButtonDown になります。

以上で設定は終わりです。それでは動作確認をしてみましょう。

 

動作確認

 

うまくボタンが作動していますね。今回作成したボタンはシンプルな作りですが、将来的には運転席にあるコントローラのようなデザインにできればいいですね。それではまた、次回お楽しみに。