创建由变量标识的类

时间:2014-05-24 04:02:34

标签: ios class sprite-kit

我总是遇到课程问题,而且我不确定这是否可行。

我正在尝试创建一个具有可识别名称的类。 我意识到这一点并不清楚,但我的总体目标是创建一个类似网格的游戏,并且网格中的每个方格都将成为该类中的一员。

例如,我会有一个名为square的类,并在我的代码中说出

  

square(16,47).isdead = true;

基本上,我想知道是否可以创建一个可以区分至少一百个不同方块的类。

另外,不确定这是否重要,但我使用精灵套件

1 个答案:

答案 0 :(得分:1)

有几种方法可以做你想要的,我更喜欢以下方法。

C风格的二维数组:

Square * squares[10][10];

然后使用方法将其封装在名为SquareManager的类中:

-(Square*) aSquareManager squareX:(short)x Y:(short)y;

如果您特别想要问题中描述的访问模式,您可以使用(信用转到arturgrigor):

#define square(x, y) [aSquareManager squareX:x Y:y]

然后您可以通过这种方式访问​​所有广场:

if ([aSquareManager squareX:16 Y:47].isdead==true) [self showSkullForSquare:[aSquareManager squareX:16 Y:47]];

另一种方法是方形具有x和y属性:

Square.h
@property short y;
@property short x;

然后你将它们全部放入一个数组中,当你需要一个正方形时,你会搜索数组。

for(Square * aSquare in squares) {
   if(aSquare.x==anXValue && aSquare.y==anYValue) {
      return aSquare;
   }
}

这些功能比你想象的要快得多。