2017-09-28 19 views
0

私の質問が重複しないことを願っています。 私には2つのボタンがあります。 ページ上で2つのボタンをクリックした後に操作を行いたい。ボタンが押されている時間は異なる場合があります。 例を教えてください。複数のボタンが押されたときの検出

+2

。それぞれはボタンの1つで有効になります。 2つのブールが真ならば。あなたの操作を行います。 – Thalthanas

+0

タイトルは[duplicate](https://stackoverflow.com/questions/41391708)ですが、2つのボタンを押すように変更します。上記のリンクから#2を見て、EmreEの提案を使ってあなたが望むものを得る。 – Programmer

+0

ボタンを観測可能なリストに登録し、そのクリックを観測可能なクラスに登録する必要があります。 – Transcendent

答えて

3

ボタンが押されたときにtrueに設定された各ボタンの単純な論理変数を持ちます。 Update関数で両方のブール変数が真であるかどうかを確認できます。

空のゲームオブジェクトに取り付け、スロットの両方のボタンをドラッグして2つのboolsを作成

public Button button1; 
public Button button2; 

bool button1Pressed = false; 
bool button2Pressed = false; 

void OnEnable() 
{ 
    //Register Button Events 
    button1.onClick.AddListener(() => buttonCallBack(button1)); 
    button2.onClick.AddListener(() => buttonCallBack(button2)); 

} 

private void buttonCallBack(Button buttonPressed) 
{ 
    if (buttonPressed == button1) 
    { 
     //Your code for button 1 
     Debug.Log("Clicked: " + button1.name); 
     button1Pressed = true; 
    } 

    if (buttonPressed == button2) 
    { 
     //Your code for button 2 
     Debug.Log("Clicked: " + button2.name); 
     button2Pressed = true; 
    } 
} 

void Update() 
{ 
    //Check if both buttons have been pressed 
    if (button1Pressed && button2Pressed) 
    { 
     //Do something 
     Debug.Log("BOTH BUTTONS HAVE BEEN PRESSED"); 

     //Set both to false 
     button1Pressed = false; 
     button2Pressed = false; 
    } 
} 
+0

ええ、ええ.......私は好きですあなたのお兄ちゃん –

+0

Emreが彼の最初の[コメント](https://stackoverflow.com/questions/46465197/detect-when-multiple-buttons-are-pressed/46465685#comment79885267_46465197)に感謝しています。私が気づいた後、あなたはまだこれをやっているのに苦労しています。ハッピーコーディング! – Programmer

関連する問題