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

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

Я плохо знаком с cocos2d так, Если кто-либо может помочь мне???

заранее спасибо ко всем.

12
задан Ivan Mir 9 December 2012 в 03:26
поделиться

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 МБ = 15 МБ из, возможно, 25 МБ доступной памяти).

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

18
ответ дан 2 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: