【发布时间】:2017-09-04 09:28:53
【问题描述】:
我真的是 C# 新手,但我正在尝试制作一个简单的游戏。为了使实例的移动和定位更容易,我使用了一个数组。问题是我似乎无法让它工作。
我收到错误消息:
'GAArr' 在当前上下文中不存在
详情请参见Draw 方法。
//Every part of the world: terrain, enemies, itmes and alike
static void World()
{
int GAWidth = 78;
int GAHeight = 25;
string[,] GAArr = new string[GAWidth, GAHeight]; //said array
...
}
//Wall class
class Wall {
...
public Wall(int x, int y, int mh){
...
}
void Draw() {
GAArr[x, y] = "#"; //it says the name 'GAArr' doesn't exist in the current context
}
}
(我很抱歉复制了所有代码,但这可能会让我更清楚我想要做什么) 我已经尝试了一些解决方案,比如创建一个静态全局类,但这似乎不起作用。我看到的另一件事是 Auction 类,但是(据我了解)这将花费大量时间并且使访问和操作实例的位置变得更加困难。 请帮忙。
【问题讨论】:
-
您在代码中的“所说的数组”不是全局的......把它放在
world之外但在类里面。 -
全局变量范围仅限于类级别。
-
每次调用 Update() 时都要重新创建数组,所以它不起作用
-
定义“不起作用”?你会得到什么结果,你会得到什么结果?
-
需要在方法外声明数组。