将精灵节点添加到可变数组中

Add a sprite node into a mutable array

这让我觉得自己像个笨手笨脚的白痴,而问这个问题的我看起来像个白痴。

我有一个类似棋盘游戏的游戏,我在其中添加 spaces(为每个 space 键入 DDSpaceNSObject 的子类) 到可变数组 (NSMutableArray).

到目前为止,这是将 space 加载到视图 (loadSpaces) 中的函数:

NSLog(@"amount of spaces: %i", amountOfSpaces);

for (int i = 0; i < amountOfSpaces; i++) {
    DDSpace *space = [DDSpace new];
    [space setupSpriteWithTheme:gamePlace];
    [spacesArray addObject:space];
}

int num = 0;

// INITIAL SPACE IS SPACE 0.

NSLog(@"adding spaces to scene... self.width = %f, count of space array = %i", self.size.width, spacesArray.count);

for (DDSpace* space in spacesArray) {
    CGFloat x = 100.0 + (num * 225.0);
    NSLog(@"x at num%i = %f.", num, x);
    space.sprite.position = CGPointMake(x, (self.size.width / 3.0));
    space.sprite.name = [NSString stringWithFormat:@"space%ld",(long)num];

    if (space.sprite.position.x < self.size.width) {
        NSLog(@"adding space.");
        [self addChild:space.sprite];
    }
}

NSLog(@"loadSpaces function finished.");

第一个游戏加载 1,000 space 秒。该函数首先记录 spaces 的数量以确保设置正确(确实如此),然后它记录屏幕的宽度和数组中 spaces 的数量(数组的数量是 0),然后下面的所有内容只是将适合屏幕的内容添加到视图中。

我的目标是将 space 添加到 spacesArray 数组(一个 NSMutableArray),这样我以后就可以访问其他 space,以防万一一个字符 "takes their turn"(我将在其中逻辑将其他字符向后移动,但为此,我需要一个 space 的数组)。

我的问题是,如何将 DDSpace 添加到 spacesArray 数组中? addObject: 方法是否正确?我只是在用它做一些愚蠢的事情吗?

None 中的 space 也出现在现场。

我想你在向它添加对象之前需要这个。

spaceArray = [NSMutableArray Array];

并像这样添加对象(就像您所做的那样)

[spacesArray addObject:space];