c# - 如果一个对象与另一个对象发生碰撞,则返回 true
问题描述
我正在尝试创建一个函数,如果游戏对象与任何带有“Ground”标签的东西发生碰撞,则返回 true,但是,返回带有下划线的文本“因为'PlayerController.PlayerController(Collision2d)' 返回 void,返回关键字必须后面不能跟对象表达式”。我需要做哪些改变?
private CanJump(Collision2D collision)
{
if (collision.gameObject.tag == "Groumd") ;
{
return true;
}
}
解决方案
首先,您的方法需要一个返回类型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)
推荐阅读
- firebase - firebase 索引查询实现
- python - 将样式多索引熊猫保存到excel时出现KeyError
- android - 如何使用 Android WebView 显示一个简单的三个 JS 网页?
- excel - 提示用户选择一个单元格,从该单元格获取和存储字符串
- r - dplyr:基于列计数的子集行
- android - 在 Flutter 项目的 build.gradle 中找不到 android 块
- java - 无法解析符号“列表”和 android studio 中的许多其他关键字
- woocommerce - 当产品“缺货”时,Woocommerce 将属性“Stockstatus”设置为“已售出”
- c# - 在 C# 中写入和读取文件的问题
- reactjs - 如何在保存时关闭碳模态