C# 我刚开始编程,以下错误并没有停止出现错误CS1955非发票成员';Component.tag';不能像方法一样使用
我试着在谷歌上搜索,但答案不适用于我的具体情况,而且我不知道有谁知道编程,所以我正在用知识帮助别人:C# 我刚开始编程,以下错误并没有停止出现错误CS1955非发票成员';Component.tag';不能像方法一样使用,c#,unity3d,C#,Unity3d,我试着在谷歌上搜索,但答案不适用于我的具体情况,而且我不知道有谁知道编程,所以我正在用知识帮助别人: private void OnCollisionEnter2D(Collision2D collision) { if(collision.transform.tag("ground") = canJump = true) { canJump = true; } } 是一个而不是一个方法,假设您正在检查变换的标记是否为ground,如
private void OnCollisionEnter2D(Collision2D collision)
{
if(collision.transform.tag("ground") = canJump = true)
{
canJump = true;
}
}
是一个而不是一个方法,假设您正在检查变换的标记是否为ground
,如果是,则将canJump
设置为true,您可以这样编写:
private void OnCollisionEnter2D(Collision2D collision)
{
if(collision.transform.tag == "ground")
{
canJump = true;
}
}
请注意,要使某些内容相等,您需要使用运算符而不是=
,因为=
仅在为变量赋值时使用
正如@derHugo提到的,您也可以使用
如果你刚开始学习编程,我强烈建议你不要从Unity开始。相反,要学习基础知识。相等比较运算符是
=
,而不是=
不要放弃统一的希望,但我建议您查找一些c#语法参考。一般来说,您应该使用而不是=
,我认为这就是OP最初可能会混淆的地方。。。它应该是if(collision.transform.CompareTag(“ground”)
private void OnCollisionEnter2D(Collision2D collision)
{
if(collision.transform.CompareTag("ground"))
{
canJump = true;
}
}