(Unity) 为什么我的 C# Monobehaviour 脚本没有被检测到

时间:2021-05-13 10:43:46

标签: c# unity3d

嘿,我有这个简洁的小统一脚本 (C#) 来处理一些游戏对象的生成。 它在原始项目中运行良好,但在我将其转移到新项目后突然 有这个错误:
文件中没有 MonoBehavior 脚本,或者它们的名称与文件名不匹配。
有谁知道这个错误来自哪里?因为我不能这样使用脚本。

是的,类名和文件名匹配。
顺便说一句,我在这里发帖是因为 Unity 论坛坏了。
代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PrefabManager : MonoBehaviour
{
    ObjectPooler objectPooler;
    public GameManager gm;
    
    int rnd = 0;
    float difficulty = 1.5f;
    bool diffhelp = true;
    int duplicate;

    
    
    private void Start()
    {
        objectPooler = ObjectPooler.Instance;
        duplicate = rnd;
        
    }

    private void Update()
    {
        bool hardcore = gm.hardcore;
        switch (gm.score)
        {
            case 150:
                difficulty = 1.25f;
                break;
            case 300:
                difficulty = 1f;
                break;
            case 450:
                difficulty = 0.9f;
                break;
            case 600:
                difficulty = 0.8f;
                break;
            case 750:
                difficulty = 0.7f;
                break;
            case 900:
                difficulty = 0.6f;
                break;
        }
        if (diffhelp)
        {
            if (hardcore == false)
            {
                Invoke("spawn", difficulty);
                diffhelp = false;
            }
            else
            {
                Invoke("spawn", 0.6f);
                diffhelp = false;
            }
            
        }

    }

    private void spawn()
    {
        while (duplicate == rnd)
        {
            rnd = Random.Range(0, 7);
        }
        duplicate = rnd;
        diffhelp = true;
        objectPooler.SpawnFromPool(rnd.ToString(), new Vector3(0,1,100), Quaternion.identity);
    }
}

2 个答案:

答案 0 :(得分:0)

确保你没有这个:

enter image description here

这应该是 Assembly C-Sharp,您可以通过从 .sln(项目的解决方案文件)打开脚本来执行此操作

如果您需要更多有关如何执行此操作的信息,您可以look here

答案 1 :(得分:-1)

找到解决方案:
似乎我的问题中提到的错误不仅会在脚本中出现任何类型的错误时被触发。然而我并不知道。我现在修复了它,它运行得非常好。