Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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# 匹配三个错误_C#_Unity3d - Fatal编程技术网

C# 匹配三个错误

C# 匹配三个错误,c#,unity3d,C#,Unity3d,这是VS中出现的两个错误 初始化();错误代码为中不存在名称“Initialize” 上下文(CS0103) “Random”是“UnityEngine.Random”和“Random”之间的不明确引用 “系统随机”(CS0104)有什么建议吗 发生第一个错误是因为您正在方法Update()中定义方法Initialize()。这样,您就不能在方法Update()之外使用Initialize() 第二个错误是因为Unity创建了两个随机类。一个在命名空间系统中,另一个在UnityEngine中。你

这是VS中出现的两个错误

初始化();错误代码为中不存在名称“Initialize” 上下文(CS0103)

“Random”是“UnityEngine.Random”和“Random”之间的不明确引用 “系统随机”(CS0104)有什么建议吗


发生第一个错误是因为您正在方法
Update()
中定义方法
Initialize()
。这样,您就不能在方法
Update()
之外使用
Initialize()

第二个错误是因为Unity创建了两个随机类。一个在命名空间
系统中
,另一个在
UnityEngine中
。你必须告诉Unity使用哪一个

下面是经过修改的代码

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

public class TileBackground : MonoBehaviour
{
    public GameObject[] cookies;
    
    // Start is called before the first frame update
    void Start()
    {
        Initialize();
    }

    
   
    // Update is called once per frame
    void Update()
    {
        void Initialize(){
            int cookieToUse = Random.Range(0, cookies.Length);
            GameObject cookie = Instantiate(cookies[cookieToUse], transform.position, Quaternion.identity);
            cookie.transform.parent = this.transform;
            cookie.name = this.gameObject.name; 
        }
    }
}


您正在方法更新内部定义方法Initialize(),并试图在定义它的范围之外使用它。对于第二个错误,这是不言自明的。。随机类定义的统一性。你必须指定你想用哪一个,你有Skype、whats应用程序还是Facebook,因为我正在关注YouTube视频,而那个家伙没有收到错误。在这里向你提问,我会回答。你试图改变我告诉你的内容了吗?我没有跟踪有人试图编辑它,但我是这个网站的新手,以前从未使用过它。你的代码的问题如下:你在方法Update()中定义了方法Initialize()。这样,就不能在methodUpdate()之外使用Initialize。因此,当您尝试在方法Start()中使用它时,Unity找不到它。在我更改它之后,范围的错误弹出,它也修复了这两个错误,但现在我有另一个错误,范围“随机”不包含“范围”(CS0107)的定义范围“随机”不包含“范围”(CS0107)的定义我的坏,将System.Random.Range更改为UnityEngine.Random.Range。已经在答案上编辑好了,我之前有过这个,我看不到我的物体在统一中,我不知道这里发生了什么
using System;        
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TileBackground : MonoBehaviour
{
    public GameObject[] cookies;
    
    // Start is called before the first frame update
    void Start()
    {
        Initialize();
    }

    
   
    // Update is called once per frame
    void Update()
    {

    }


    void Initialize(){
        int cookieToUse = UnityEngine.Random.Range(0, cookies.Length);
        GameObject cookie = Instantiate(cookies[cookieToUse], transform.position, Quaternion.identity);
        cookie.transform.parent = this.transform;
        cookie.name = this.gameObject.name; 
    }

}