質問編集履歴

2

全体のコードを追加させていただきました。

2020/05/06 08:38

投稿

beginner_F
beginner_F

スコア12

test CHANGED
File without changes
test CHANGED
@@ -19,3 +19,67 @@
19
19
  ```
20
20
 
21
21
  配列はすべてInt[]です。
22
+
23
+
24
+
25
+ 実際のコードになります、デバッグ用のログも一様残しておきます。
26
+
27
+ このコードをオブジェクトに付けループさせています、変数は一番上のスコープで宣言し使いまわしています。
28
+
29
+ TmpPos、MoveTmpPosを実行するたびにnewで初期化した場合は発生しませんが、newを避ける目的で改修しています。
30
+
31
+ ```ここに言語を入力
32
+
33
+ private void Moveing()
34
+
35
+ {
36
+
37
+ TmpPos[0] = 0;//固定
38
+
39
+ TmpPos[1] = SetMoveNumber();//1,2の要素に0,1,-1のどれかを取得します。
40
+
41
+ TmpPos[2] = SetMoveNumber();
42
+
43
+
44
+
45
+ Debug.Log(gameObject);
46
+
47
+
48
+
49
+ Debug.Log("現在座標_" + Pos[0] + "_" + Pos[1] + "_" + Pos[2]);
50
+
51
+ Debug.Log("差分座標_" + TmpPos[0] + "_" + TmpPos[1] + "_" + TmpPos[2]);
52
+
53
+
54
+
55
+ Array.Clear(MoveTmpPos, 0, MoveTmpPos.Length);
56
+
57
+
58
+
59
+ MoveTmpPos[1] += Pos[1];//やMoveTmpPos[1] = Pos[1] + Pos[2]
60
+
61
+ MoveTmpPos[2] += Pos[2];
62
+
63
+ MoveTmpPos[1] += TmpPos[1];
64
+
65
+ MoveTmpPos[2] += TmpPos[2];
66
+
67
+
68
+
69
+ Debug.Log("計算後行き先_" + MoveTmpPos[0] + "_" + MoveTmpPos[1] + "_" + MoveTmpPos[2]);
70
+
71
+ Debug.Log("現在座標_" + Pos[0] + "_" + Pos[1] + "_" + Pos[2]);//◆ここで数値が変わってしまいます。
72
+
73
+
74
+
75
+ _Director.Move(Pos, MoveTmpPos, gameObject);//移動させる処理です、この中でPosは変更されています。
76
+
77
+
78
+
79
+ Debug.Log("移動処理後_" + Pos[0] + "_" + Pos[1] + "_" + Pos[2]);
80
+
81
+
82
+
83
+ }
84
+
85
+ ```

1

確かな確認ができなかった部分について削除しました。

2020/05/06 08:38

投稿

beginner_F
beginner_F

スコア12

test CHANGED
File without changes
test CHANGED
@@ -10,8 +10,6 @@
10
10
 
11
11
  例としては下記のような単純な計算でArrayAの中身が変わってしまいます。
12
12
 
13
- 完璧な確認ではないですが、ログで見る限りでは加算の結果が0に収まった際にだけそうなってしまいます。
14
-
15
13
 
16
14
 
17
15
  ```ここに言語を入力