【Unity】Unityで3D野球盤をつくろう日記 16日目:守備の選手(敵?)を左右に動かす

投稿日:2017年6月2日
最終更新日:2019年1月19日

(日記のまとめページはこちら:https://wakky.tech/unity-baseball-game/

今日は前回配置した外野手を、左右に動かしたいと思う。ゾンビゲームみたいに主人公に寄ってくるような動作は複雑なスクリプトがいるんじゃないかと思うけど、とりあえず今回は単純に周期的な動作を繰り返すだけにしようかなと。

 

スクリプトの作成

過去につくったSwingBat.csを利用して、以下のようなscriptをつくった。

https://gist.github.com/WakkyFree/2a48f26d631252737ca72d5dbcdea38e/a7ffed56a73e92953a16bde34ee804fc337a2f37

簡単に説明すると、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へドラッグ&ドロップしてスクリプトを付加する。静止画だとわかりにくいけど、これで外野手が左右に動くようになった。


次はこいつらを増殖させて、より野球盤っぽくしよう。

0

投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください