私は、クライアントによってインスタンス化される小さなアプリケーションを作成しています。私のアプリケーションでは、2つのクラスMessageQueueSingleton.csとDataObject.csがあります。Unityのボタン動作
MessageQueueSingletonは、DataObjectクラスのオブジェクトの静的ディクショナリを含むシングルトンクラスです。 MessageQueueSingletonには、クライアントからの指示に従ってDataObjectクラスの属性を操作するいくつかのメソッドがあります。
私の問題は、MessageQueueSingletonのいくつかのメソッドを呼び出すことができるUnity GUIも必要です。つまり、UIのボタンを押すと、メソッドがMessageQueueSingletonから呼び出されます。
私は統一プログラミングを初めて学んだので、スクリプトをボタンに接続する方法を示す例を見ようとしましたが、 "Inspector"のonClick()セクションでは自分のメソッドを見ることができません。私はUnity 5.5.1f1を使用しています
これを行うプロセスを記述している小さな例やリンクが参考になります。
ありがとうございました。
void Start() {
var button = GameObject.Find("GameObjectWithMyButton").GetComponent<Button>();
button.onClick.AddListener(MyMethod);
}
void MyMethod() {
// Do something when button is clicked.
}
そして、あなたがドラッグしたい場合&はそれを選択します。そのボタンのリスナーと方法を設定するには、次のコードでスクリプトコンポーネントを追加することができますButtonコンポーネントを使用してゲームオブジェクトに
お返事ありがとうございます。しかし、私の方法は公開されていますが、インスペクタではまだ見ることができません。私は質問のスクリーンショットを添付しました。 – blackbug
これ以上見ることなく、私はそれが静的であるメソッドの問題かもしれないと思いますか?静的ではないメソッドを追加して、それが現れているかどうかを確認してください。ちょうど普通の良いオールの公の方法。 – Maakep
実際には、メソッドは静的ではありませんが、クラスはシングルトンですが、それは干渉しますか? 'public void getProduct() { //製品を取得するボタンから呼び出されます。 Debug.Log(" KKLOG:getProduct() "); } ' – blackbug