teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

訂正へエラーの原因を捕捉

2017/07/15 00:19

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -1,4 +1,4 @@
1
- 訂正:最初に書いていた方法は間違っていました。transform.position.zを直接書き換えるようなコードとしていましたが、それはコンパイルエラーでした。positionを書き換えるようにコードを修正いたしました。失礼いたしました。
1
+ 訂正:最初に書いていた方法は間違っていました。transform.position.zを直接書き換えるようなコードとしていましたが、それはコンパイルエラーでした。positionを書き換えるようにコードを修正いたしました。失礼いたしました。(transform.positionはfieldではなくpropertyなのでメンバーを直接書き換えるとC#コンパイラーがエラーにしてくれるというQ&Aを過去に見た気がします。コードを確認せずに回答してしまい大変申し訳ありませんでした。)
2
2
 
3
3
  ---
4
4
  ```C#

1

訂正

2017/07/15 00:19

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -1,8 +1,12 @@
1
+ 訂正:最初に書いていた方法は間違っていました。transform.position.zを直接書き換えるようなコードとしていましたが、それはコンパイルエラーでした。positionを書き換えるようにコードを修正いたしました。失礼いたしました。
2
+
3
+ ---
1
4
  ```C#
2
5
  public class MyBehavior : MonoBehaviour {
3
6
  void Update() {
4
7
  //...transform.position.zが変化するような操作処理...;
8
+ Vector3 pos = transform.position;
5
- transform.position.z = Mathf.Clamp(transform.position.z, -2, 0.5);
9
+ transform.position = new Vector3(pos.x, pos.y, Mathf.Clamp(pos.z, -2, 0.5));
6
10
  }
7
11
  }
8
12
  ```