XNA Game Class Q:什么时候是默认的(?)ContentManager实例' Content'初始化?

时间:2014-09-18 11:39:04

标签: c# xna

据我了解, Program.cs 是XNA程序的入口点,因为它包含了 Main 方法。

Main 方法中,声明并初始化Game1(Game of child)实例。

Game1.cs 类的构造函数不涉及任何 ContentManager 初始化,但可以在构造函数中调用对象 Content 。这意味着 Main 方法和 Game1 构造函数之间的某处,内容对象已初始化但我不能在我的生活中找到任何文档在哪里以及如何发生。

1 个答案:

答案 0 :(得分:0)

通常你的游戏的构造函数看起来像这样......

public Game1() : base()
{
    ...
}

所以发生了两件事之一......

  1. 此变量在基本ctor中初始化,这在您之前运行。 变量Content是在基类型
  2. 中以下面的方式声明的类级变量

    对我而言,这似乎是非常基本的C#......

    class Game
    {
        public ContentManager Content = new ContentManager();
        ...
    }
    

    在.Net中也有一些奇怪的位,他们会像......那样做...

    ContentManager content;
    
    public ContentManager Content 
    {
       get 
       { 
           if(content == null)
              InitialiseContentManager();
    
           return content;
       }
    }