回答編集履歴
9
言い回し修正
test
CHANGED
@@ -1,22 +1,22 @@
|
|
1
|
-
Awakeの中でplayerInputにCoverAction(ワープのメソッド)を登録してますよね。
|
1
|
+
Awakeの中でplayerInputを通してPlayerにCoverAction(ワープのメソッド)を登録してますよね。
|
2
2
|
```C#
|
3
3
|
playerInput.Player.CoverAction.started += CoverAction;//同
|
4
4
|
```
|
5
5
|
|
6
6
|
で、今回はWarp(ワープオブジェクト)が2つ置いてありますよね。
|
7
7
|
ということは、WarpのAwakeは2回呼ばれてるってことですよね。
|
8
|
-
つまりゲームを起動時、
|
8
|
+
つまりゲームを起動時、Playerには2箇所のCoverAction(ワープ処理)が登録されるということですよね。
|
9
9
|
|
10
10
|
Acrtionを発火すると登録されている処理は全て実行されます。
|
11
|
-
今回でいうと
|
11
|
+
今回でいうとPlayer.CoverAction.startedを実行するたびに「1-1のCoverAction」と「1-2のCoverAction」が順番に実行されるということです。
|
12
12
|
コンソールにもワープが行われるたびに"Warp"が2ずつ増えてますよね?
|
13
13
|
これは「1-2にワープした後、1-1にワープする」という2回のワープ処理が一度に行われているからです。
|
14
14
|
なので1-1を踏んでも1-1に飛ばされているんじゃないでしょうか?
|
15
15
|
|
16
16
|
故にワープ処理の登録&削除を
|
17
|
-
「ワープに触れた瞬間、ワープ処理を
|
17
|
+
「ワープに触れた瞬間、ワープ処理をPlayerに登録する」
|
18
|
-
「ワープが終わったら、ワープ処理を
|
18
|
+
「ワープが終わったら、ワープ処理をPlayerから削除する」
|
19
|
-
という風にして、「ワープする時、
|
19
|
+
という風にして、「ワープする時、Playerには1つのワープ処理しか登録されていない状態」にすれば動くんじゃないでしょうか。
|
20
20
|
|
21
21
|
つまり
|
22
22
|
```C#
|
8
言い回し修正
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
故にワープ処理の登録&削除を
|
17
17
|
「ワープに触れた瞬間、ワープ処理をplayerInputに登録する」
|
18
18
|
「ワープが終わったら、ワープ処理をplayerInputから削除する」
|
19
|
-
という風にすれば動くんじゃないでしょうか。
|
19
|
+
という風にして、「ワープする時、playerInputには1つのワープ処理しか登録されていない状態」にすれば動くんじゃないでしょうか。
|
20
20
|
|
21
21
|
つまり
|
22
22
|
```C#
|
7
言い回し修正
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
つまりゲームを起動時、playerInput(InputAction)には2箇所のCoverAction(ワープ処理)が登録されるということですよね。
|
9
9
|
|
10
10
|
Acrtionを発火すると登録されている処理は全て実行されます。
|
11
|
-
今回でいうとplayerInputを実行するたびに「1-1の
|
11
|
+
今回でいうとplayerInputを実行するたびに「1-1のCoverAction」と「1-2のCoverAction」が順番に実行されるということです。
|
12
12
|
コンソールにもワープが行われるたびに"Warp"が2ずつ増えてますよね?
|
13
13
|
これは「1-2にワープした後、1-1にワープする」という2回のワープ処理が一度に行われているからです。
|
14
14
|
なので1-1を踏んでも1-1に飛ばされているんじゃないでしょうか?
|
6
言い回し修正
test
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
で、今回はWarp(ワープオブジェクト)が2つ置いてありますよね。
|
7
7
|
ということは、WarpのAwakeは2回呼ばれてるってことですよね。
|
8
|
-
つまりゲームを起動時、playerInput(InputAction)には2
|
8
|
+
つまりゲームを起動時、playerInput(InputAction)には2箇所のCoverAction(ワープ処理)が登録されるということですよね。
|
9
9
|
|
10
10
|
Acrtionを発火すると登録されている処理は全て実行されます。
|
11
11
|
今回でいうとplayerInputを実行するたびに「1-1のワープ処理」と「1-2のワープ処理」が順番に実行されるということです。
|
5
言い回し修正
test
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
これは「1-2にワープした後、1-1にワープする」という2回のワープ処理が一度に行われているからです。
|
14
14
|
なので1-1を踏んでも1-1に飛ばされているんじゃないでしょうか?
|
15
15
|
|
16
|
-
|
16
|
+
故にワープ処理の登録&削除を
|
17
17
|
「ワープに触れた瞬間、ワープ処理をplayerInputに登録する」
|
18
18
|
「ワープが終わったら、ワープ処理をplayerInputから削除する」
|
19
19
|
という風にすれば動くんじゃないでしょうか。
|
4
言い回し修正
test
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
で、今回はWarp(ワープオブジェクト)が2つ置いてありますよね。
|
7
7
|
ということは、WarpのAwakeは2回呼ばれてるってことですよね。
|
8
|
-
つまりゲーム起動
|
8
|
+
つまりゲームを起動時、playerInput(InputAction)には2つのCoverAction(ワープ処理)が登録されるということですよね。
|
9
9
|
|
10
10
|
Acrtionを発火すると登録されている処理は全て実行されます。
|
11
11
|
今回でいうとplayerInputを実行するたびに「1-1のワープ処理」と「1-2のワープ処理」が順番に実行されるということです。
|
3
コード修正
test
CHANGED
@@ -20,10 +20,10 @@
|
|
20
20
|
|
21
21
|
つまり
|
22
22
|
```C#
|
23
|
-
playerInput.Player.CoverAction.started += CoverAction
|
23
|
+
playerInput.Player.CoverAction.started += CoverAction;
|
24
24
|
```
|
25
25
|
をAwakeからOnTriggerStayに移し、CoverAction内に
|
26
26
|
```C#
|
27
|
-
playerInput.Player.CoverAction.started -= CoverAction
|
27
|
+
playerInput.Player.CoverAction.started -= CoverAction;
|
28
28
|
```
|
29
29
|
を追加で書く的な感じです。
|
2
言い回し修正
test
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
今回でいうとplayerInputを実行するたびに「1-1のワープ処理」と「1-2のワープ処理」が順番に実行されるということです。
|
12
12
|
コンソールにもワープが行われるたびに"Warp"が2ずつ増えてますよね?
|
13
13
|
これは「1-2にワープした後、1-1にワープする」という2回のワープ処理が一度に行われているからです。
|
14
|
-
なので1-1を踏んでも1-1に飛ばされてい
|
14
|
+
なので1-1を踏んでも1-1に飛ばされているんじゃないでしょうか?
|
15
15
|
|
16
16
|
なのでワープ処理の登録&削除を
|
17
17
|
「ワープに触れた瞬間、ワープ処理をplayerInputに登録する」
|
1
言い回し修正
test
CHANGED
@@ -7,8 +7,8 @@
|
|
7
7
|
ということは、WarpのAwakeは2回呼ばれてるってことですよね。
|
8
8
|
つまりゲーム起動後、playerInput(InputAction)には2つのCoverAction(ワープ処理)が登録されているということですよね。
|
9
9
|
|
10
|
-
Acrtion
|
10
|
+
Acrtionを発火すると登録されている処理は全て実行されます。
|
11
|
-
playerInputを実行するたびに「1-1のワープ処理」と「1-2のワープ処理」が順番に実行されるということです。
|
11
|
+
今回でいうとplayerInputを実行するたびに「1-1のワープ処理」と「1-2のワープ処理」が順番に実行されるということです。
|
12
12
|
コンソールにもワープが行われるたびに"Warp"が2ずつ増えてますよね?
|
13
13
|
これは「1-2にワープした後、1-1にワープする」という2回のワープ処理が一度に行われているからです。
|
14
14
|
なので1-1を踏んでも1-1に飛ばされています。
|