我正在 XNA 中使用 C# 构建游戏,但我不确定这四种方式中的哪一种最适合引用“视口”以进行只读访问:
有一个公共静态变量,每个类都可以通过调用 Game.Viewport 来访问(Game 是主类:
public static readonly Viewport Viewport = GraphicsDevice.Viewport;
正在使用:
rectangle = new Rectangle (Game.Viewport/2, ...
对于需要视口的每个类,都有一个局部变量来引用视口:
私有只读视口视口 = GraphicsDevice.Viewport;
正在使用:
rectangle = new Rectangle (viewport/2, ...
使用向下传递到需要视口的每个类的构造函数的局部变量(这将是唯一不需要导入 Microsoft.Xna.Framework.Graphics 的类):
私有只读视口视口;
然后在构造函数中:
viewport = pViewport;
正在使用:
rectangle = new Rectangle (viewport/2, ...
在需要(使用中)的任何地方直接从类库中引用视口:
矩形 = 新矩形 (GraphicsDevice.Viewport.Width/2, ...
我想知道哪个在速度方面最好,哪个在可读性方面最好。就个人而言,我觉得第四种方法是最简单和最快的,所以我不需要创建任何对视口的引用,很明显我指的是全局的东西。看起来它正在取消“中间人”,但随后您必须将 XNA 图形库导入到使用视口的每个类中。
你们有什么感想?