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

回答編集履歴

4

修正

2020/05/12 14:56

投稿

Hawn
Hawn

スコア1222

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  2.ConstraintsのFreeze Rotationにチェックを入れる
6
6
  3.IsTriggerのチェックを外して物理演算の衝突で止める
7
7
 
8
- 詳細は下記記事
8
+ 詳細は下記記事
9
9
  https://qiita.com/_tybt/items/0e9605b7acc955078c64
10
10
 
11
11
  **・方法2:キャラの向き1マス前に判定用のオブジェクトを置きそれを使って移動を止める**

3

修正

2020/05/12 14:56

投稿

Hawn
Hawn

スコア1222

answer CHANGED
@@ -8,9 +8,9 @@
8
8
  詳細は下記記事等
9
9
  https://qiita.com/_tybt/items/0e9605b7acc955078c64
10
10
 
11
- **・方法2:キャラの向きに判定用のオブジェクトを置きその判定で移動を止める**
11
+ **・方法2:キャラの向き1マス前に判定用のオブジェクトを置きそれを使って移動を止める**
12
12
  1.空のオブジェクトを新たに作成してCollider 2Dを設定
13
- 2.そのオブジェクトの位置がキャラの向いている方向に連動するようにする
13
+ 2.そのオブジェクトの位置がキャラの向いている1マス前方向に連動するようにする
14
14
  3.IsTriggerのチェックを入れ、これを使って移動前にオブジェクトの判定を行う
15
15
  4.移動不可能なオブジェクトならばフラグなどを使って移動処理をおこなわせない
16
16
  ※OnTriggerEnter2Dのままで出来なくも無いがOnTriggerStay2Dの方が判定させ易いかもしれません

2

修正

2020/05/12 14:55

投稿

Hawn
Hawn

スコア1222

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  下記の3通りから出来そうなのを選んで下さい。
2
2
 
3
- **・方法1**
3
+ **・方法1:物理演算の衝突で止める**
4
4
  1.キャラとオブジェクトにCollider 2Dを設定(既に有るならばコレはおこなわない)
5
5
  2.ConstraintsのFreeze Rotationにチェックを入れる
6
6
  3.IsTriggerのチェックを外して物理演算の衝突で止める
@@ -8,16 +8,16 @@
8
8
  詳細は下記記事等
9
9
  https://qiita.com/_tybt/items/0e9605b7acc955078c64
10
10
 
11
- **・方法2**
11
+ **・方法2:キャラの向きに判定用のオブジェクトを置きその判定で移動を止める**
12
12
  1.空のオブジェクトを新たに作成してCollider 2Dを設定
13
13
  2.そのオブジェクトの位置がキャラの向いている方向に連動するようにする
14
14
  3.IsTriggerのチェックを入れ、これを使って移動前にオブジェクトの判定を行う
15
15
  4.移動不可能なオブジェクトならばフラグなどを使って移動処理をおこなわせない
16
16
  ※OnTriggerEnter2Dのままで出来なくも無いがOnTriggerStay2Dの方が判定させ易いかもしれません
17
17
 
18
- **・方法3**
18
+ **・方法3:2次元配列の要素判定で移動を止める**
19
- 1.マップチップ移動可否の情報を入れた二次元配列を作りクラスで保持しておく(int[][]の様な配列)
19
+ 1.マップ移動可否の情報を入れた二次元配列を作りクラスで保持しておく(int[][]配列)
20
- ※マップチップ移動可否の情報とは「移動可能:0 移動不可:1」の様な数値で良いです
20
+ ※マップ移動可否の情報とは「移動可能:0 移動不可:1」の様な数値
21
21
  2.キャラ移動先の座標の二次元配列要素を参照する
22
22
  3.移動不可能なオブジェクトならばフラグなどを使って移動処理をおこなわせない
23
23
 

1

修正

2020/05/12 14:54

投稿

Hawn
Hawn

スコア1222

answer CHANGED
@@ -1,3 +1,5 @@
1
+ 下記の3通りから出来そうなのを選んで下さい。
2
+
1
3
  **・方法1**
2
4
  1.キャラとオブジェクトにCollider 2Dを設定(既に有るならばコレはおこなわない)
3
5
  2.ConstraintsのFreeze Rotationにチェックを入れる