Unity3d“无法将类型`void'隐式转换为`bool'”

时间:2016-05-09 14:06:11

标签: c# android unity3d

void Update () 
{
    if (transform.Translate((Input.acceleration.x), 0, 0)) 
    {
        GetComponent<Rigidbody>().AddForce(Vector2.right);
    }
}

我正在使用Android应用程序的加速器,似乎不喜欢它。我可以将其更改为KeyDown,但它不适用于加速器。

错误:

  

“无法将类型”void“隐式转换为”bool“

2 个答案:

答案 0 :(得分:2)

根据文件http://docs.unity3d.com/ScriptReference/Transform.Translate.html

transform.Translate不返回布尔值;它的返回类型是无效的。因此,您不能使用if语句来评估它是否成功。

如果你想检查翻译是否正确,你需要检查调用transform.Translate的副作用。换句话说,看看变换的变化,看它是否符合您的期望。

答案 1 :(得分:0)

不要使用if语句,因为Translate不返回任何内容。只需离开AddForce行

即可