UIのボタンを押された時の判定をスクリプトで書きたいです。
if文でもしUIのボタンが押されたら。。。のようにしたいのですがそのような関数が見つかりません。
どうすればUIのボタンを押された時の判定をできますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
ボタンのインスペクターでAdd Component → Event Trigger
add Event TypeからPointerUp PointerDownを追加
あとは上記と同じ方法でスプリクトアタッチされているオブジェクトをPointerUpとPointerDownにアタッチ。
例のソースでは押されているときだけPushがデバッグに表示されます。
c#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class ButtonClick : MonoBehaviour { 6 7 bool sw; 8 public void Push() 9 { 10 sw = true; 11 } 12 public void noPush() 13 { 14 sw = false; 15 } 16 17 void Update() 18 { 19 if (sw) 20 { 21 Debug.Log("Push"); 22 } 23 } 24}
投稿2017/07/11 03:22
総合スコア132
0
キャンバスのなかにボタンは設置できていますよね?
そのボタンのインスペクターウィンド(表示座標とか)の一番下On Click()と言うものがあると思います。
その右下の方にプラスマークがあるので、それを押します。
押すと、none(object)とあると思うので適当なオブジェクト(カメラでも空オブジェクトでもなんでもいい)を入れます。
そのオブジェクトに以下のようなスプリクトを書いてアタッチします。
アタッチしたら、no functionと書いてあるところをクリックし、ButtonClick→testOnClickとあるので、
それを選択します。
ボタンを押せばlogにOnClick1と表示されます。
要は、呼び出したい処理がついているオブジェクトをボタンのOnClickにアタッチし、ButtonClick→呼び出したい関数とすればいいわけです。
c#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class ButtonClick : MonoBehaviour { 6 7//適当な関数名、なんでもいいです、その中に好きな処理を書いてください。今回はtestOnClickという名前にし、Debug.Log("OnClick1");という処理をさせてみました。// 8 public void testOnClick() 9 { 10 Debug.Log("OnClick1"); 11 } 12} 13
投稿2017/07/10 23:54
総合スコア132
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/11 14:03