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#和Unity实例化对象_C#_Unity3d - Fatal编程技术网

尝试使用C#和Unity实例化对象

尝试使用C#和Unity实例化对象,c#,unity3d,C#,Unity3d,所以我对编码是新手,我正在使用一本叫做“通过在Unity 2019中开发游戏学习C#-第四版。在其中一个练习中,当我试图实例化一个对象时,它会要求实例化一个对象,该对象的类在另一个.cs文件中声明,但它不起作用。我以为这是因为一个using语句,但也不是这样。这是我的密码 //LearningCurve.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class L

所以我对编码是新手,我正在使用一本叫做“通过在Unity 2019中开发游戏学习C#-第四版。在其中一个练习中,当我试图实例化一个对象时,它会要求实例化一个对象,该对象的类在另一个.cs文件中声明,但它不起作用。我以为这是因为一个using语句,但也不是这样。这是我的密码

//LearningCurve.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LearningCurve : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        Character hero = new Character();
    }

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

    }
}

//Character.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Character 
{

}

您的
角色
实例肯定会被创建,但似乎无法在代码中确认。Unity
MonoBehavior
脚本在作为组件附加到实际游戏对象时开始工作。尝试此启动功能:

void Start()
{
    Character hero = new Character();
    if (hero != null) Debug.Log("Hello, Hero");
}
这意味着,如果您的
角色
实例创建得很好,那么它将在Unity控制台中记录“Hello,Hero”


然后将
LearningCurve.cs
连接到场景中的任何现有游戏对象(例如,照相机),然后启动游戏,仔细观察控制台。

什么是“不工作”?在您的代码中,
hero
Start()
函数中的局部变量,该函数在第一次
Update()
调用之前调用,如前所述。我的意思是,当我键入“Character”并将变量命名为“hero”并将其赋值为“new Character()”;“我的印象是,如果我将鼠标悬停在“英雄”上,它会告诉我“英雄”确实是“角色”类型的变量,但它会显示“?”?hero“据我所知,当我创建它时,它通常会变成某种颜色。在本例中,它不会。我稍后会看一看,但感谢您的帮助OK,因此我更新了Character类以从MonoBehavior继承,添加了它,它允许您的代码工作,但我的问题是,我一直看到“Character”“以与变量相同的颜色显示,而不是更改,当我将鼠标悬停在它上面时,它至少现在显示为“字符”类型,但当我进行新的关键点工作并创建“新字符”时,我会得到一个大的红色圆圈,圆圈内有一个x。知道那是什么吗?