質問編集履歴
3
文法の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,38 +8,39 @@
|
|
8
8
|
回答よろしくお願いします。
|
9
9
|
|
10
10
|
###該当のソースコード
|
11
|
+
``````
|
11
12
|
public GameObject Block;
|
12
13
|
private bool isTap = false;
|
13
14
|
|
14
15
|
void Start () {
|
15
|
-
//ブロックの画像を非表
|
16
|
+
//ブロックの画像を非表
|
16
|
-
Block.SetActive (false);
|
17
|
+
Block.SetActive (false);
|
17
18
|
}
|
18
19
|
|
19
|
-
|
20
|
+
void Update () {
|
20
|
-
|
21
|
+
GameObject obj = getClickObject ();
|
21
|
-
|
22
|
+
//以下オブジェクトがクリックされた時の処理
|
22
|
-
|
23
|
+
if (obj != null) {
|
23
|
-
|
24
|
+
//クリック事に画像を切り替える
|
24
|
-
|
25
|
+
if (isTap) {
|
25
|
-
|
26
|
+
Block.SetActive (true);
|
26
|
-
|
27
|
+
} else {
|
27
|
-
|
28
|
+
Block.SetActive (false);
|
28
|
-
}
|
29
29
|
}
|
30
30
|
}
|
31
|
+
}
|
31
32
|
|
32
33
|
// 左クリックしたオブジェクトを取得する関数
|
33
34
|
private GameObject getClickObject() {
|
34
|
-
GameObject result = null;
|
35
|
+
GameObject result = null;
|
35
36
|
|
36
|
-
// 左クリックされた場所のオブジェクトを取得
|
37
|
+
// 左クリックされた場所のオブジェクトを取得
|
37
|
-
if(Input.GetMouseButtonDown(0)) {
|
38
|
+
if(Input.GetMouseButtonDown(0)) {
|
38
|
-
Vector2 tapPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
|
39
|
+
Vector2 tapPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
|
39
|
-
|
40
|
+
Collider2D collider2d = Physics2D.OverlapPoint(tapPoint);
|
40
41
|
|
41
|
-
|
42
|
+
if (collider2d) {
|
42
|
-
|
43
|
+
result = collider2d.transform.gameObject;
|
43
44
|
|
44
45
|
if (result.name == this.name) {
|
45
46
|
isTap = true;
|
@@ -51,8 +52,8 @@
|
|
51
52
|
return result;
|
52
53
|
}
|
53
54
|
}
|
55
|
+
```
|
54
56
|
|
55
|
-
|
56
57
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
57
58
|
Unity 5.5
|
58
59
|
言語:C#
|
2
文法の修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Unityで
|
1
|
+
Unityで複数用意したオブジェクトをクリックするたびに画像を交互に切り替えたい
|
body
CHANGED
@@ -1,12 +1,10 @@
|
|
1
1
|
###前提・実現したいこと
|
2
|
-
Unity2Dにて、
|
2
|
+
Unity2Dにて、「点線ブロック」と「四角ブロック」の画像を用意し、
|
3
|
-
「四角ブロック」の画像が表示され、それをクリックすると「四角ブロック」の画像が
|
4
|
-
|
3
|
+
クリックするたびに交互に切り替わる物を作成し実行した際、単体では
|
4
|
+
問題なく動作したのですが複数(複製や、プレファブ等)用意して使うと
|
5
|
+
途中でクリックしても画像が切り替わらないオブジェクトが出てきており
|
6
|
+
原因がわからない状態です。
|
5
7
|
|
6
|
-
名前を変更し複数(コピー、プレファブ等)用意して使うと
|
7
|
-
途中でクリックしても画像が切り替わらないことが
|
8
|
-
あり原因がわからない状態です。
|
9
|
-
|
10
8
|
回答よろしくお願いします。
|
11
9
|
|
12
10
|
###該当のソースコード
|
@@ -31,13 +29,15 @@
|
|
31
29
|
}
|
32
30
|
}
|
33
31
|
|
34
|
-
|
32
|
+
// 左クリックしたオブジェクトを取得する関数
|
35
|
-
|
33
|
+
private GameObject getClickObject() {
|
36
|
-
|
34
|
+
GameObject result = null;
|
35
|
+
|
37
|
-
|
36
|
+
// 左クリックされた場所のオブジェクトを取得
|
38
|
-
|
37
|
+
if(Input.GetMouseButtonDown(0)) {
|
39
|
-
|
38
|
+
Vector2 tapPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
|
40
39
|
Collider2D collider2d = Physics2D.OverlapPoint(tapPoint);
|
40
|
+
|
41
41
|
if (collider2d) {
|
42
42
|
result = collider2d.transform.gameObject;
|
43
43
|
|
1
誤字
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Unityで(複数)オブジェクトをクリックするたびに画像を切り替え
|
1
|
+
Unityで(複数)オブジェクトをクリックするたびに画像を切り替えたい
|
body
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
途中でクリックしても画像が切り替わらないことが
|
8
8
|
あり原因がわからない状態です。
|
9
9
|
|
10
|
-
回答よろしくお願い
|
10
|
+
回答よろしくお願いします。
|
11
11
|
|
12
12
|
###該当のソースコード
|
13
13
|
public GameObject Block;
|