Namespace ‘‘已经包含了一个名为’PlayerCollision’的定义。

huangapple go评论154阅读模式
英文:

Namespace '<global namespace>' already contains a definition for 'PlayerCollision'

问题

错误:
> Assets\Scripts\PlayerCollision.cs(4,14): error CS0101: 命名空间 '<全局命名空间>' 已经包含了 'PlayerCollision' 的定义

using UnityEngine;

public class PlayerCollision : MonoBehaviour {

    void OnCollisionEnter (Collision collisionInfo)
    {
        if (collisionInfo.collider.tag == "Obstacle")
        {
            Debug.Log("我们撞到了某物");
        }
    }
}
英文:

Error:
> Assets\Scripts\PlayerCollision.cs(4,14): error CS0101: The namespace '<global namespace>' already contains a definition for 'PlayerCollision'

using UnityEngine;

public class PlayerCollision : MonoBehaviour {

    void OnCollisionEnter (Collision collisionInfo)
    {
        if (collisionInfo.collider.tag == &quot;Obstacle&quot;)
        {
            Debug.Log(&quot;We hit something&quot;);
        }
    }
}

答案1

得分: 1

你不能将MonoBehaviour 脚本命名为与内部名称(PlayerCollision)相同。

尝试使用前缀,例如:

public class MyPlayerCollision : MonoBehaviour {
英文:

You cannot name the MonoBehaviour script the same as an internal name(PlayerCollision).

Try a prefix like My:

public class MyPlayerCollision : MonoBehaviour {

答案2

得分: 0

你可以将你的 PlayerCollision 放在自己的命名空间中(为了避免其他命名空间问题,也可以对项目中的其他类采取相同的做法):

using UnityEngine;

namespace MyGame
{
    public class PlayerCollision : MonoBehaviour {
        // 在这里放入你的代码
    }
}
英文:

You can put your PlayerCollision in a namespace of its own (and to avoid other namespace issues, do the same for other classes in your project):

using UnityEngine;

namespace MyGame
{
    public class PlayerCollision : MonoBehaviour {
        //your code here
    }
}

huangapple
  • 本文由 发表于 2023年2月19日 05:07:08
  • 转载请务必保留本文链接:https://go.coder-hub.com/75496402.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定