LoginSignup
62
48

More than 5 years have passed since last update.

【Unity】C#でtransform.positionの値を変更する

Last updated at Posted at 2015-09-28

transform.positionには
ゲームオブジェクトの位置が入っている訳ですが
この値を使う時に
x,y,zのどれかを減らしてまたは
増やして使いたい時ってありますよね

Javascript(Unityscript)を使っている場合は
transform.position.y += 1.0f;

という様な書き方で問題無いんですが、

C#の場合はプロパティが構造体の場合そのメンバー
(Vector3のx,y,z)は直接変更できない仕様になっているので

Javascriptと同じ書き方では使えません。

さて、ならC#でtransform.positionの値は変更できないのか
と言うと、実は出来ます

前置きが長くなりましたが
それならどうすれば出来るのか、というのをこれから紹介します


そのまま言ってしまうと
一度Vector3の変数に取り出して
hoge.y += 1;
という風にして変更してから
transform.position = hoge;
という形で代入して使うようです。

hoge.js
Vector3 pos = transform.position;
pos.y += 2;
transform.position = pos;
62
48
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
62
48