回答編集履歴

7

追記3のコード編集(処理内容には影響なし)

2018/04/29 06:06

投稿

negitama
negitama

スコア943

test CHANGED
@@ -88,7 +88,7 @@
88
88
 
89
89
  // ボタンクリック時の処理の例(メソッド名や処理内容は任意)
90
90
 
91
- public void Clicked ()
91
+ private void Clicked ()
92
92
 
93
93
  {
94
94
 

6

文言微修正

2018/04/29 06:06

投稿

negitama
negitama

スコア943

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  なかなか解決しないようなので、参考までに別のやり方を紹介しておきます。
36
36
 
37
- これは質問の内容とは離れてしまうのですが、ButtonのインスペクターのOnClick欄を使わなくても、以下のようにスクリプトを書くことでボタンクリック時の処理を呼び出すことができます。
37
+ ButtonのインスペクターのOnClick欄を使わなくても、以下のようにスクリプトを書くことでボタンクリック時の処理を呼び出すことができます。
38
38
 
39
39
  スクリプト内の【参考】の箇所のとおりです。
40
40
 

5

【追記3】を追記しました。別のやり方です。

2018/04/29 05:53

投稿

negitama
negitama

スコア943

test CHANGED
@@ -27,3 +27,77 @@
27
27
  【追記2】
28
28
 
29
29
  [参考動画](https://twitter.com/onionslice2/status/990424511970402305)
30
+
31
+
32
+
33
+ 【追記3】
34
+
35
+ なかなか解決しないようなので、参考までに別のやり方を紹介しておきます。
36
+
37
+ これは質問の内容とは離れてしまうのですが、ButtonのインスペクターのOnClick欄を使わなくても、以下のようにスクリプトを書くことでボタンクリック時の処理を呼び出すことができます。
38
+
39
+ スクリプト内の【参考】の箇所のとおりです。
40
+
41
+
42
+
43
+ ```C#
44
+
45
+ using UnityEngine;
46
+
47
+ using UnityEngine.UI;
48
+
49
+
50
+
51
+ public class ButtonTest : MonoBehaviour
52
+
53
+ {
54
+
55
+ private Text text;
56
+
57
+ private int value = 0;
58
+
59
+
60
+
61
+ private void Start ()
62
+
63
+ {
64
+
65
+ text = GameObject.FindWithTag ( "TextField" ).GetComponent<Text> ();
66
+
67
+
68
+
69
+ // 【参考】このようにすれば、インスペクターのOnClick欄を使わなくても処理できる
70
+
71
+ Button button = GetComponent<Button>();
72
+
73
+ button.onClick.AddListener ( () =>
74
+
75
+ {
76
+
77
+ // このカッコ内にボタンクリック時の処理を書く
78
+
79
+
80
+
81
+ Clicked();
82
+
83
+ } );
84
+
85
+ }
86
+
87
+
88
+
89
+ // ボタンクリック時の処理の例(メソッド名や処理内容は任意)
90
+
91
+ public void Clicked ()
92
+
93
+ {
94
+
95
+ value++;
96
+
97
+ text.text = value.ToString ();
98
+
99
+ }
100
+
101
+ }
102
+
103
+ ```

4

参考動画へのリンクを追加しました

2018/04/29 05:51

投稿

negitama
negitama

スコア943

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- 【追記】
15
+ 【追記1
16
16
 
17
17
  やはり質問内容の手順で問題なさそうに見えますね。
18
18
 
@@ -21,3 +21,9 @@
21
21
  下図のように、OnClickの欄にドラッグ&ドロップでスクリプトをアタッチしています。
22
22
 
23
23
  ![イメージ説明](bca3a68d9cfd48919adc09c324326b39.jpeg)
24
+
25
+
26
+
27
+ 【追記2】
28
+
29
+ [参考動画](https://twitter.com/onionslice2/status/990424511970402305)

3

追記しました。質問内容の手順で問題ないように見えます。

2018/04/29 02:58

投稿

negitama
negitama

スコア943

test CHANGED
@@ -9,3 +9,15 @@
9
9
  自分の(Buttonの)ゲームオブジェクトに対象のスクリプトをアタッチした状態で同じ設定を試してみてください。
10
10
 
11
11
  ~~
12
+
13
+
14
+
15
+ 【追記】
16
+
17
+ やはり質問内容の手順で問題なさそうに見えますね。
18
+
19
+ こちらで確認してみましたが、問題はありませんでした。
20
+
21
+ 下図のように、OnClickの欄にドラッグ&ドロップでスクリプトをアタッチしています。
22
+
23
+ ![イメージ説明](bca3a68d9cfd48919adc09c324326b39.jpeg)

2

回答内容修正

2018/04/29 02:21

投稿

negitama
negitama

スコア943

test CHANGED
@@ -1,3 +1,11 @@
1
+ 質問内容を再確認したところ、手順には問題がなさそうに見えます。
2
+
3
+ いったん下記は取り消します。こちらでも確認してみます。
4
+
5
+
6
+
1
- プレハブにしてHierarchyビューから削除すると、自分のゲームオブジェクトでないものに対するインスペクターからの参照は外れてしまうようです。
7
+ ~~プレハブにしてHierarchyビューから削除すると、自分のゲームオブジェクトでないものに対するインスペクターからの参照は外れてしまうようです。
2
8
 
3
9
  自分の(Buttonの)ゲームオブジェクトに対象のスクリプトをアタッチした状態で同じ設定を試してみてください。
10
+
11
+ ~~

1

文言微修正

2018/04/29 02:08

投稿

negitama
negitama

スコア943

test CHANGED
@@ -1,3 +1,3 @@
1
- プレハブにしてHierarchyビューから削除すると、自分のゲームオブジェクトでないものの参照は外れてしまうようです。
1
+ プレハブにしてHierarchyビューから削除すると、自分のゲームオブジェクトでないものに対するインスペクターからの参照は外れてしまうようです。
2
2
 
3
3
  自分の(Buttonの)ゲームオブジェクトに対象のスクリプトをアタッチした状態で同じ設定を試してみてください。