为了账号安全,请及时绑定邮箱和手机立即绑定

如何在“jump”方法中使用布尔值?

如何在“jump”方法中使用布尔值?

C#
慕盖茨4494581 2023-07-22 16:55:03
我为我的角色扮演游戏制作了一个跳跃系统。--> 检测球员何时接地存在问题。我试图让系统返回布尔值,并用 if 方法将其添加到跳转方法中,不幸的是我卡住了bool isGrounded () {    return Physics.Raycast(transform.position, Vector3.down, distToGround);}//jump Forceif(Input.GetButton("Jump")){    if(isGrounded == true)     {        GetComponent<Rigidbody>().AddForce (Vector3.up * 100);    }}这里有错误消息。bool isGrounded()运算符“==”不能应用于“方法组”和“bool”类型的操作数 (CS0019) [Assembly-CSharp]
查看完整描述

1 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

将此添加为答案,以便在时间结束之前不会出现在未回答的问题列表中


bool isGrounded () 

{

    return Physics.Raycast(transform.position, Vector3.down, distToGround);

}


//jump Force

if(Input.GetButton("Jump"))

{

    if(isGrounded == true) 

    {

        GetComponent<Rigidbody>().AddForce (Vector3.up * 100);

    }

}

线路


if(isGrounded == true)

告诉编译器查找名为 的符号isGrounded并将其值与 进行比较true。由于是 一种方法,而不是布尔属性或字段,因此您基本上要求编译器比较toisGrounded的地址,这完全是零意义(即使在 C# 中允许,但事实并非如此)。isGrounded()true


如果你把这个改成,


if(isGrounded() == true) 

或者,更简洁地说,


if(isGrounded()) 

它将调用isGrounded()并测试返回值。


括号很重要。


查看完整回答
反对 回复 2023-07-22
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信