質問編集履歴

2

追記

2016/08/21 13:21

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -151,3 +151,11 @@
151
151
  }
152
152
 
153
153
  ```
154
+
155
+ キャストしてもエラーになりました。
156
+
157
+ ```C#
158
+
159
+ (GameObject)sender.transform.position = Vector3.zero; //senderはCubeのはず。ここでエラー。
160
+
161
+ ```

1

追記

2016/08/21 13:20

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -77,3 +77,77 @@
77
77
  これより先の記述がわかりません。
78
78
 
79
79
  ご教授お願い致します。
80
+
81
+
82
+
83
+ ###追記
84
+
85
+ ご回答いただいた方法で、まず値を渡さない方法で試してみました。
86
+
87
+ イベントを受け取るようになったのですが、受け取りの際(OnCollisionEnterEvent)、senderを利用してみたいと思いました。CubeScriptでthisを渡しているので、senderはCubeだと思うのですが、このsender(Cube)を操作することができません。sender(Cube)の操作方法のご教授お願い致します。
88
+
89
+
90
+
91
+ ```C#
92
+
93
+ public class CubeScript : MonoBehaviour {
94
+
95
+
96
+
97
+ // 値を渡さない
98
+
99
+ public event EventHandler OnCollisionEnterEvent = delegate { };
100
+
101
+
102
+
103
+ void OnCollisionEnter(Collision col)
104
+
105
+ {
106
+
107
+ // 値を渡さない
108
+
109
+ OnCollisionEnterEvent(this, EventArgs.Empty);
110
+
111
+ }
112
+
113
+
114
+
115
+ }
116
+
117
+ ```
118
+
119
+
120
+
121
+ ```C#
122
+
123
+ public class GameObjectScript : MonoBehaviour {
124
+
125
+
126
+
127
+ void Awake(){
128
+
129
+
130
+
131
+ // コンポーネント(CubeScript)を取得
132
+
133
+ CubeScript cubeScript = GameObject.Find ("Cube").GetComponent<CubeScript> ();
134
+
135
+
136
+
137
+ // イベントを設定
138
+
139
+ cubeScript.OnCollisionEnterEvent += delegate (object sender, EventArgs e) {
140
+
141
+ Debug.Log(sender); //Cube (CubeScript)
142
+
143
+ sender.transform.position = Vector3.zero; //senderはCubeのはず。ここでエラー。
144
+
145
+ };
146
+
147
+ }
148
+
149
+
150
+
151
+ }
152
+
153
+ ```