(日記のまとめページはこちら:https://wakky.tech/unity-baseball-game/)
今日は前回配置した外野手を、左右に動かしたいと思う。ゾンビゲームみたいに主人公に寄ってくるような動作は複雑なスクリプトがいるんじゃないかと思うけど、とりあえず今回は単純に周期的な動作を繰り返すだけにしようかなと。
スクリプトの作成
過去につくったSwingBat.csを利用して、以下のようなscriptをつくった。
簡単に説明すると、d_positiveで動く方向を決めて、x_maxで設定した上限値を超えたら、
d_positive = !d_positive;
で動く方向を変えるようにしている。Mathf.Absは引数の絶対値を求める関数。プラス、マイナス方向に動くので、上限値を絶対値で求める。transform.localPositionを使うと、オブジェクトが配置されている初期値からの相対位置に移動してくれる。ちなみにtransform.positionを使った場合は、指定した絶対座標にオブジェクトが移動する。Mathf.Abs、tranform.localPositionについては以下を参照。
https://docs.unity3d.com/ja/540/ScriptReference/Mathf.Abs.html
https://docs.unity3d.com/ja/540/ScriptReference/Transform-localPosition.html
PlayerCenterへのスクリプトの付加
あとはいつも通り、MovePlayer.csをPlayerCenterへドラッグ&ドロップしてスクリプトを付加する。静止画だとわかりにくいけど、これで外野手が左右に動くようになった。
次はこいつらを増殖させて、より野球盤っぽくしよう。