Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当按下多个按钮时检测_C#_Unity3d - Fatal编程技术网

C# 当按下多个按钮时检测

C# 当按下多个按钮时检测,c#,unity3d,C#,Unity3d,我希望我的问题不会重复。 我有两个按钮。 我想在页面上单击两个按钮后进行操作。按下按钮的时间可能不同。 请帮我举一个例子。当按下按钮时,为每个按钮设置一个简单的布尔变量。然后,您可以在Update函数中检查这两个布尔变量是否为真 附加到空游戏对象,并将两个按钮拖动到插槽: public Button button1; public Button button2; bool button1Pressed = false; bool button2Pressed = false; void On

我希望我的问题不会重复。 我有两个按钮。 我想在页面上单击两个按钮后进行操作。按下按钮的时间可能不同。
请帮我举一个例子。

当按下按钮时,为每个按钮设置一个简单的布尔变量。然后,您可以在
Update
函数中检查这两个布尔变量是否为真

附加到空游戏对象,并将两个按钮拖动到插槽:

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;
    }
}

按下按钮时,为每个按钮设置一个简单的布尔变量,将其设置为true。然后,您可以在
Update
函数中检查这两个布尔变量是否为真

附加到空游戏对象,并将两个按钮拖动到插槽:

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;
    }
}

创建两个布尔。每个按钮都由其中一个按钮启用。如果两个布尔是真的。做你的操作。标题使它成为一个,但我会改变它,以反映按下两个按钮。查看我上面提供的链接中的#2,然后使用EmreE的建议获得您想要的内容将您的按钮注册到可观察列表中,并订阅必须监视对可观察对象的单击的类。@EmreE ok…..但我会运行一个方法…..在该方法中,我检查tow bool变量是否为true。您知道如何使用UI按钮OnClick方法吗?如果不是来自youtube的视频。演示如何将脚本分配给按钮。创建两个布尔。每个按钮都由其中一个按钮启用。如果两个布尔是真的。做你的操作。标题使它成为一个,但我会改变它,以反映按下两个按钮。查看我上面提供的链接中的#2,然后使用EmreE的建议获得您想要的内容将您的按钮注册到可观察列表中,并订阅必须监视对可观察对象的单击的类。@EmreE ok…..但我会运行一个方法…..在该方法中,我检查tow bool变量是否为true。您知道如何使用UI按钮OnClick方法吗?如果不是来自youtube的视频。演示如何为按钮分配脚本。是的,是的……我喜欢你,兄弟们。当我注意到你仍在努力完成这项工作后,我把他/她的第一个脚本作为回答。快乐编码!是的,是的……我喜欢你,兄弟,当我注意到你仍在努力做这件事时,他/她的第一个答案实际上就是我的答案。快乐编码!