Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
unity c#使用GetMouseButtondown将文本设置为true_C#_User Interface_Unity3d_Text - Fatal编程技术网

unity c#使用GetMouseButtondown将文本设置为true

unity c#使用GetMouseButtondown将文本设置为true,c#,user-interface,unity3d,text,C#,User Interface,Unity3d,Text,我基本上只是想和一个全国人大谈谈。一旦我按下鼠标按钮(0),文本就会显示出来。在我当前的代码中,只要我按住鼠标键,文本就会保持不变 if (Input.GetMouseButton(0) && Input.GetMouseButton(0) && cc.height < 20 && Vector3.Distance(Larry.transform.position, this.transform.position) < 10) {

我基本上只是想和一个全国人大谈谈。一旦我按下鼠标按钮(0),文本就会显示出来。在我当前的代码中,只要我按住鼠标键,文本就会保持不变

if (Input.GetMouseButton(0) && Input.GetMouseButton(0) && cc.height < 20 && Vector3.Distance(Larry.transform.position, this.transform.position) < 10)
{
    text1.SetActive(true);
if(Input.GetMouseButton(0)和&Input.GetMouseButton(0)和&cc.height<20和&Vector3.Distance(Larry.transform.position,this.transform.position)<10)
{
text1.SetActive(真);

那么,如果我想看到文本直到
Vector3.Distance(Larry.transform.position,this.transform.position),这个if语句应该是什么样子呢<10
不再是真的了?

你只需要做同样的事情,但是使用
向量的oposite 3.Distance你只需要做同样的事情,但是使用
向量的oposite 3.Distance假设代码块被放置在
Update
中,在每一帧调用它,你只需要保持文本处于启用状态,直到匹配相反的条件

使用(按下鼠标按钮时仅在开始时触发一次)而不是
输入也足够了。GetMouseButton
(在按住鼠标按钮时每帧重复触发)只需一次调用即可启用文本,因为它将“自动”保持启用状态

if(Input.GetMouseButtonDown(0)和&cc.height<20和&Vector3.Distance(Larry.transform.position,transform.position)<10)
{
//启用文本
text1.SetActive(真);
}
//同时,第二个条件不匹配
//文本仍然保持活动状态
//使用if-else以避免不必要的检查
//因为两个条件中只有一个可以同时为真
else if(向量3.距离(Larry.transform.position,transform.position)>=10)
{
//禁用文本
text1.SetActive(假);
}

假设代码块被放置在例如
更新
中,每帧调用一次,您只需保持文本处于启用状态,直到匹配相反的条件

使用(按下鼠标按钮时仅在开始时触发一次)而不是
输入也足够了。GetMouseButton
(在按住鼠标按钮时每帧重复触发)只需一次调用即可启用文本,因为它将“自动”保持启用状态

if(Input.GetMouseButtonDown(0)和&cc.height<20和&Vector3.Distance(Larry.transform.position,transform.position)<10)
{
//启用文本
text1.SetActive(真);
}
//同时,第二个条件不匹配
//文本仍然保持活动状态
//使用if-else以避免不必要的检查
//因为两个条件中只有一个可以同时为真
else if(向量3.距离(Larry.transform.position,transform.position)>=10)
{
//禁用文本
text1.SetActive(假);
}
Input.GetMouseButton(0)和&Input.GetMouseButton(0)
?您有两次该条件。
Input.GetMouseButton(0)和&Input.GetMouseButton(0)
(逻辑比较运算符)不是
(lambda运算符)。
=
(逻辑比较运算符)不是
=/code>
(lambda操作员)。
 if(Vector3.Distance(Larry.transform.position, this.transform.position) => 10)
     text1.SetActive(false);  
if (Input.GetMouseButtonDown(0) && cc.height < 20 && Vector3.Distance(Larry.transform.position, transform.position) < 10)
{
    // Enable the text
    text1.SetActive(true);
}
// Meanwhile the second condiction isn't matched 
// the text stays active anyway
// Use if else to avoid an unnecessary check
// since only one of the two conditions can be true at the same time
else if(Vector3.Distance(Larry.transform.position, transform.position) >= 10)
{
    // Disable the text
    text1.SetActive(false);
}