Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.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

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# 获取错误:无法将类型“UnityEngine.Touch”隐式转换为“bool”_C#_Unity3d - Fatal编程技术网

C# 获取错误:无法将类型“UnityEngine.Touch”隐式转换为“bool”

C# 获取错误:无法将类型“UnityEngine.Touch”隐式转换为“bool”,c#,unity3d,C#,Unity3d,每当我运行此代码时,都会出现此错误: 错误CS0029:无法将UnityEngine.Touch类型隐式转换为 布尔 这里的问题是什么?当一个手指碰到屏幕时,我正试图向上移动一个游戏对象 private Rigidbody rb; void Start() { rb = GetComponent<Rigidbody>(); } void Update () { if(Input.GetTouch()) { transform.positi

每当我运行此代码时,都会出现此错误:

错误CS0029:无法将UnityEngine.Touch类型隐式转换为 布尔

这里的问题是什么?当一个手指碰到屏幕时,我正试图向上移动一个游戏对象

private Rigidbody rb;

void Start() {

rb = GetComponent<Rigidbody>();

 }

 void Update () {

     if(Input.GetTouch()) {


         transform.position += Vector3.up;
     }

  }
}
Input.GetTouch返回什么

返回表示特定触摸状态的对象

你在这里干什么

if(Input.GetTouch())
您使用的不是布尔表达式或布尔变量,而是对象!这是无法编译的。在if语句中,必须使用条件或布尔变量

我们如何识别用户是否进行了任何触摸

Input.GetTouch返回什么

返回表示特定触摸状态的对象

你在这里干什么

if(Input.GetTouch())
您使用的不是布尔表达式或布尔变量,而是对象!这是无法编译的。在if语句中,必须使用条件或布尔变量

我们如何识别用户是否进行了任何触摸


因为这种情况:

if(Input.GetTouch())
不返回布尔类型。它回来了。要检查您是否触摸过,您应该这样使用它:

void Update () 
{
   if(Input.touchCount > 0) {
     transform.position += Vector3.up;
   }
}

如果您想了解有关触摸检测的更多信息,请查看unity手册。

,因为这种情况:

if(Input.GetTouch())
不返回布尔类型。它回来了。要检查您是否触摸过,您应该这样使用它:

void Update () 
{
   if(Input.touchCount > 0) {
     transform.position += Vector3.up;
   }
}
如果您想了解更多关于触摸检测的信息,请查看unity手册。

根据API,公共静态触摸GetTouchint索引;返回触摸,而不是布尔。

根据API,公共静态触摸GetTouchint索引;返回触摸,而不是布尔