如何通过名称对象的属性来引用它们
本文关键字:引用 属性 何通过 对象 | 更新日期: 2023-09-27 18:27:38
如何引用无名称对象?对于一个游戏,如果我正在制作一个正方形网格并使用类似的东西
for (int X =0; X <= 10; X++)
{
for(int Y =0; Y <= 10; Y++)
{
new Cell(X, Y);
}
}
我将有100个没有名字的细胞。之后我该如何修改或检查它们,也许可以用它们的coords来指代它们,比如
ThisCell.DoSomething();
通过其坐标或来指代细胞
暂停。我不能只拥有1000个或更多的细胞,每个细胞都有自己的小宠物名字。例如,必须有一种方法可以在不产生新细胞的情况下,通过某种东西的咕咕声来检查它的邻居。。。
基本上,我遇到的问题是,例如,对于每个邻居检查,我都会创建新的默认单元格,这些单元格返回错误的值。
例如,如果你们中的任何一个人可以给我一个好的函数,它检查其上行邻居的boolean
IsWalkable
。。。我将非常感谢
您需要创建一个类型为Cell
:的数组
Cell[,] myCells = new Cell[10,10]
将new Cell(X, Y);
更改为myCells[X,Y] = new Cell();
从那里,您可以随时引用任何单元格:myCells[1,2].DoSomething()
;
创建一个数组,然后将单元格存储在中
Cell[,] cells = new Cell[10,10];
for (int X =0; X <= 10; X++)
{
for(int Y =0; Y <= 10; Y++)
{
cells[X,Y] = new Cell(X, Y);
}
}
要延迟检索单元格,只需使用它的x和y坐标对数组进行索引:
Cell someCell = cells[5,5]; // for example
只需操纵坐标就很容易找到邻居。例如,如果每个单元格也有自己的X和Y坐标(构造函数参数建议),则可以执行以下操作:
Cell cellAboveMe = cells[someCell.X, someCell.Y - 1];
尽管请注意,您将希望包括边界检查(如果Y==0
,则此单元格上方没有单元格)
这是非常基础的东西,所以您需要了解数组是如何工作的。请参阅此处:
http://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx
例如。