Изменение фонового изображения в cocos2d

Я делаю игру, используя cocos2d. в том, что я хочу изменить фон после каждой секунды. Я не знаю, как это сделать в cocos2d. У меня есть 15 разных изображений, и по одному будет отображаться каждое изображение, то есть через 1 секунду появится следующее изображение.

Я новичок в cocos2d, поэтому, если кто-нибудь может мне помочь???

Благодарим вас заблаговременно.

Ответы

Ответ 1

Я предполагаю, что на заднем плане вы имеете в виду изображение с полным разрешением 320x480.

Вам нужно будет создать и добавить CCSprite:

CCSprite* background = [CCSprite spriteWithFile:@"bg1.png"];
background.tag = 1;
background.anchorPoint = CGPointMake(0, 0);
[self addChild:background];

Чтобы запланировать замену, используйте планировщик:

[self schedule:@selector(replaceBackground:) interval:1.0f];

При замене фона не забудьте удалить старый фон:

-(void) replaceBackground:(ccTime)delta
{
    // add new background here...

    [self removeChildByTag:1];
}

Тег должен увеличиваться с каждым изображением, конечно.

Одно слово предостережения: загрузка 320x480 (которая будет иметь текстуру 512x512 в памяти, используя 1 МБ памяти, если только 16-бит или сжатие PVR) из файла вызовет заметное отставание. Если вы делаете экшн, вам придется предварительно загружать фоновые изображения. Это оставит вам небольшую память для игры в оставшуюся часть игры (15 изображений x 1 MB = 15 МБ, возможно, 25 МБ доступной памяти).

PS: больше Q & A доступно на форуме cocos2d: http://www.cocos2d-iphone.org/forum, и я также добавляю ответы на часто задаваемые вопросы в мой http://www.learn-cocos2d.com.