我正在尝试创建一个函数,如果游戏对象与带有标签“ Ground”的任何东西碰撞,则返回true,但是,return带有下划线“ Since'PlayerController.PlayerController(Collision2d)'返回void, return关键字不得后面跟对象表达式”。我需要进行哪些更改?
private CanJump(Collision2D collision)
{
if (collision.gameObject.tag == "Groumd") ;
{
return true;
}
}
答案 0 :(得分:1)
首先,您需要为方法使用返回类型bool
,并且在某处还需要默认返回false
:
private bool CanJump(Collision2D collision)
{
if(collision.gameObject.tag == "Groumd") ;
{
return true;
}
return false;
}
然后您可以将其简化为简单的操作
private bool CanJump(Collision2D collision)
{
return collision.gameObject.tag == "Groumd";
}
但是..对于这样的一种衬垫,方法可能是口味的问题,但为什么不直接在您称为这种用途的方法中使用
collision.gameObject.tag == "Groumd"
代替
CanJump(collision)
答案 1 :(得分:1)
看起来您有一个私有函数,该私有函数可能默认为void返回类型?给它一个布尔返回类型或其他任何东西,然后无论您从哪里调用该函数,都要检查它的结果是否为真,以了解是否存在冲突。