Objective-C / Cocos2D - 在屏幕上的相同位置显示带动画的不同精灵

时间:2013-05-14 07:17:13

标签: objective-c cocos2d-iphone

您好我有一个很大的问题,到目前为止我找不到解决问题的方法。

我使用objective-c和cocos2D进行简单游戏。

我有3个不同的对象(带动画的精灵)和屏幕上的四个固定位置。

或者以间隔我想在位置上显示不同的对象。

我想用双()来定位对象。在for for中我想创建一个包含所有对象的多维数组。

然后我想创建一个方法,我可以访问时间间隔和不同对象的频率。

你认为我可以用这个解决方案解决我的问题,还是你知道更好的方法...... ??

如果有人能帮助我的话会很棒。

谢谢你

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"myPlist.plist"];
myArray = [[CCArray alloc] init];


for (int i = 1; i <= 2; i++) {
    for (int j = 1; j <= 2; j++) {
            Figure *figure = [Figure spriteWithSpriteFrameName:@"a0001.png"];
            figure.position = ccp(j * figure.contentSize.width + 50, i * figure.contentSize.height + 50);
            [myArray addObject: figure];
            [self addChild:figure z:1];
     }
}

1 个答案:

答案 0 :(得分:0)

我不知道你是如何构建你的plist的,但我想你已经用这种方式重命名了图像:

a0001.png
a0002.png
a0003.png

为什么你不试图制作一个更简单的for循环而不是“for for a for”,只在你的视图中放置3个图像并像这样管理你的文件:

for (int i = 1; i < 3; i++) {

    Figure *figure = [Figure spriteWithSpriteFrameName:[NSString stringWithFormat:@"a000%i.png", i]]
    figure.position = //add something that fit with your layout
    [myArray addObject: figure];
    [self addChild:figure z:1];

 }