【发布时间】:2011-04-29 17:53:47
【问题描述】:
我现在正在 XNA 中制作一个小游戏。
我想根据我的屏幕分辨率来确定数组的大小。
我是这样做的:
public const int intBoardheight = (GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height -150) / 10 ;
public const int intBoardwidth = (GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width - 200) / 10;
public bool[,] GameBoard = new bool[intBoardheight,intBoardwidth];
public bool[,] GameBoardUpdate = new bool[intBoardheight, intBoardwidth];
public int[,] GameBoardInt = new int[intBoardheight, intBoardwidth];
但这给了我错误“分配给'Game_Of_Life_2.Game1.intBoardheight'的表达式必须是常数”。
那么,如何将常量基于变量?
提前致谢!
西蒙。
编辑: 多谢你们!效果很好!
【问题讨论】:
-
常量是从不改变的东西。不是在程序生命周期中永远不会改变的东西。 永远就像“在过去、现在或未来的任何时间点,这个值都不会是任何与这里所说的不同。” Pi 是一个常数。 1 是一个常数。
CurrentDisplayMode.Height不是常数。 -
嗯,如果你基于一个变量,它就是一个变量。
标签: c# arrays variables xna constants