transform.Translate と transform.position
2020年7月27日
2020年7月28日
Joystick Packを導入してとりあえずJoystickの動きを以下のように使っていた。
「Unity – Joystickを使ってみる –」
this.transform.Translate(joystick.Horizontal, 0f, 0f);
joystick.Horizontal は -1~1 の値を返す。
壁で囲った範囲は-25~25なのにBarは画面から消えるほど遠くまで動く。
ここまで来てやっとtransform.Translateって何なのかを調べる。
移動したい距離を引数に与えるんだって。
だから、どんどん加算されて範囲を超えて移動する。
当たり前だな、使う前に調べよう。
で、方法はいくつかある。
そのままtransform.Translateを使うけど現在位置が-25~25から外れたら処理して留める方法。
Joystickの-1~1を-25~25に換算した後で位置そのものを指定する方法。
2つ目の方法が transform.position だ。
こっちをやってみる。
ここでこんなサンプルを見せていただいたので拝借する。
上の一行の代わりに以下のようにした。
違いを動画で。