繁体   English   中英

Unity C# 代码正在工作,然后当我保存它停止工作

[英]Unity C# Code was working then when I saved It stopped working

我已经做了一些我正在使用的代码,一切都很好,直到我保存了所有脚本,它出现了很多我没有看到或不知道如何修复的错误,我我对所有这些编码的东西都是新手,我的游戏运行良好,然后我保存了,所有的地狱都爆发了。 我在这里提供了图片和代码。

第一行错误。

第二行错误。

public float speed;

private Rigidbody2D rb;
private Vector2 moveVelocity;

void Start(){

    rb = GetComponent<Rigidbody2D>();

}

void Update(){

    Vector2 moveInput = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"));
    moveVelocity = moveInput.normalized * speed;
}

void FixedUpdate(){

    rb.MovePosition(rb.position + moveVelocity * Time.fixedDeltaTime);

}

这是第一个...

public Transform[] spawnPoints;
public GameObject[] monsters;
int randomSpawnPoint, randomMonster;
public static bool spawnAllowed;

// Use this for initialization
void Start () {
    spawnAllowed = true;
    InvokeRepeating ("SpawnAMonster", 0f, 1f);
}

void SpawnAMonster()
{
    if (spawnAllowed) {
        randomSpawnPoint = Random.Range (0, spawnPoints.Length);
        randomMonster = Random.Range (0, monsters.Length);
        Instantiate (monsters [randomMonster], spawnPoints [randomSpawnPoint].position,
            Quaternion.identity);
    }
}

错误The namespace <global namespace> already contains a definition for <class>意味着您在没有名称空间的两个类具有相同的名称。

发生了什么;

当您在项目中移动脚本并且没有在代码编辑器中重新加载解决方案时,通常会发生这种情况。 当您保存脚本时,代码编辑器仍然认为该文件位于旧位置,并将其保存在那里。 这可能是您获得相同脚本的两个副本的方式。

整顿;

找到脚本的两个版本,并使用检查器代码预览快速决定要保留哪一个。 删除另一个,然后关闭代码编辑器。 现在您可以选择要将脚本移动到的位置。 当你想编辑它时,只需像平常一样打开你的代码编辑器。

以后避免;

当您将脚本移动到新位置时,请确保在代码编辑器中将其关闭(即关闭选项卡)。 当你想编辑它时,再次打开它。 这将确保代码编辑器知道脚本的正确路径,并且不会在其他地方保存它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM