unity c#使用GetMouseButtondown将文本设置为true
我基本上只是想和一个全国人大谈谈。一旦我按下鼠标按钮(0),文本就会显示出来。在我当前的代码中,只要我按住鼠标键,文本就会保持不变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) {
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);
}