为什么我的screenscale为null?

时间:2014-02-09 21:37:56

标签: c# xna monogame

我正在使用此代码为我的2d塔防游戏创建缩放矩阵:

float screenscalex;
float screenscaley;
Matrix SpriteScale;
screenscalex = (float)_graphics.GraphicsDevice.Viewport.Width / 1366f;
screenscaley = (float)_graphics.GraphicsDevice.Viewport.Height / 768f;
SpriteScale = Matrix.CreateScale(screenscalex, screenscaley, 1);

然而,它表示在初始化screenscalex的地方,它是一个空引用。有谁知道我做错了什么?我尝试使用GraphicsAdapter来获取屏幕的宽度,但它不起作用。另外,我还没有将视口设置为任何东西。最后,将代码移动到Initialize()只会让游戏崩溃

1 个答案:

答案 0 :(得分:1)

你必须在base.Initialize()下面这样做,这是在...初始化的地方。