Я делаю игру с помощью cocos2d. в этом я хочу изменить фон после каждой секунды времени. Я не знаю, как сделать это в cocos2d. У меня есть 15 различных изображений, и один за другим каждое изображение покажут, т.е. after1 второе следующее изображение появится.
Я плохо знаком с cocos2d так, Если кто-либо может помочь мне???
заранее спасибо ко всем.
Я предполагаю, что под фоном вы подразумеваете изображение с полным разрешением 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 сайте.