在XNA中,我实例化了如下模型:
protected override void LoadContent()
{
this.model = this.Game.Content.Load<Model>("Units/Vehicles/Palladium");
base.LoadContent();
}
我在坦克这样的课程中这样做。我在这里问的是,我应该为每个Tank实例实例化该模型实例(加载它),还是应该只执行一次并将其分配给一个坦克类的静态属性?
我不确定坦克实例是否需要他们自己的实例,但我也不确定实例化新模型是否在性能方面是昂贵的。
感谢您的帮助!
答案 0 :(得分:10)
来自MSDN for the ContentManager.Load generic method:
返回值
已加载的资产。反复拨打电话 加载相同的资产将返回 相同的对象实例。
从本质上讲,从您的角度来看,虽然答案是“只加载一次模型并在实例中重复使用”,但ContentManager类会为您处理。