当我运行此代码时,尝试使用Sspeed时出错 论点3:无法从“方法组”转换为“浮动”
我尝试做.ToString()
public Rigidbody dot;
public float Speed = 1000f;
float Sspeed()
{
float Sspeed = Speed * Time.deltaTime;
return Sspeed;
}
void Start()
{
Debug.Log(Sspeed);
}
void FixedUpdate()
{
if (Input.GetKey("a"))
{
dot.AddForce(0, 0, Sspeed);
}
}
答案 0 :(得分:0)
您缺少括号。
dot.AddForce(0, 0, Sspeed());
Debug.Log(Sspeed());
在c#中,即使没有参数,也必须加上方括号以调用方法。 如果Sspeed是(只读)属性,则无需括号即可。
作为一个附带说明,Sspeed在我看来并不像一个函数名,而是更像一个类名,您应该考虑将其重命名为更具说服力的名称,例如getSpeed(),尽管它实际上并不是您想要的速度。重新到达那里,但距离更远。 (v = s / t <=> v * t = s)