Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

transform.Translate と transform.position

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 だ。
こっちをやってみる。
ここでこんなサンプルを見せていただいたので拝借する。

上の一行の代わりに以下のようにした。

違いを動画で。

このエントリーをはてなブックマークに追加

Posted under: Unity


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.