Самый эффективный способ создания CCSprites и частиц в Cocos2D - PullRequest
0 голосов
/ 23 апреля 2011

Прямо сейчас, в моей игре, я запускаю спрайт каждую секунду или около того в верхней части экрана (используя планировщик), используя этот код:

The init method:

[self schedule:@selector(addMeteor:) interval:1];

The scheduler method:

- (void)addMeteor:(ccTime)dt
{
    CCTexture2D *meteor = [[CCTextureCache sharedTextureCache] addImage:@"Frame3.png"];
    target = [CCSprite spriteWithTexture:meteor rect:CGRectMake(0, 0, 53, 56)];
    //Rest of positioning code was here
}

Выполнение этого способа вызывает заикание частоты кадров каждую секунду или около того (всякий раз, когда появляется другой спрайт).Есть ли способ устранить это?

Заранее спасибо!

Тейт

1 Ответ

2 голосов
/ 23 апреля 2011

Я предполагаю, что заикание, скорее всего, исходит из других частей кода. Вы явно вызываете removeChild на метеорах? Это может вызвать сбой, особенно у многих метеоров.

Мой совет: создайте N метеорных спрайтов впереди. Когда вам это нужно, сделайте его видимым и измените его положение Когда вы закончите с этим, установите его в видимый = НЕТ, чтобы он исчез.

...