Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我刚开始编程,以下错误并没有停止出现错误CS1955非发票成员';Component.tag';不能像方法一样使用_C#_Unity3d - Fatal编程技术网

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;
    }
}