.animationImages API Cocos 2D? - PullRequest
       18

.animationImages API Cocos 2D?

0 голосов
/ 29 октября 2011

Я собираюсь сделать что-то похожее на API в UIImageView, где вы предоставляете, скажем, 5 изображений, и через определенное время UIImageView будет переключаться между этими изображениями. Я пытаюсь сделать это в CCSprite, но единственный способ услышать это - настроить фреймы узла или что-то в этом роде.

Кто-нибудь знает простой способ добиться чего-то подобного, когда я предоставляю, скажем, 5 изображений, и я хочу, чтобы они циклически повторялись через 4 секунды?

Спасибо!

Ответы [ 3 ]

3 голосов
/ 29 октября 2011
    //initialize anitmation
    CCAnimation *anime= [[CCAnimation alloc] initWithName:@"anime" delay:4.0];

    for(int i = 1; i <= 5; i++){
            [anime addFrameWithFilename:[NSString  stringWithFormat:@"frame%d.png", i]];
    }

    id animeAction = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:anime]];

   [self runAction:animeAction];

Требуется 5 изображений и анимировать их за 4,0 периода.

----- Редактировать ----- Вот как вы можете сделать это с новым Cocos2d Api 1.0.1:

    //initialize anitmation
    CCAnimation *anime= [CCAnimation animation];
    anime.delay = 4.0;

    for(int i = 1; i <= 5; i++){
            [anime addFrameWithFilename:[NSString  stringWithFormat:@"frame%d.png", i]];
    }

    id animeAction = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:anime]];

   [self runAction:animeAction];
1 голос
/ 29 октября 2011

Посмотрите на классы CCAnimation, CCAnimate и CCSpriteFrame.

CCSpriteFrame представляет фрагмент большей текстуры, известный как лист спрайта. Вы можете поместить свои пять изображений в один лист.

CCAnimation позволяет вам создать анимацию из последовательности таких кадров и установить скорость , при которой анимация запускается.

И CCAnimate позволяет запускать эту анимацию как действие :

[node runAction:[CCAnimate actionWithAnimation:animationInstance restoreOriginal:NO]];

.

Ссылки

Ссылка класса CCSpriteFrame

Ссылка на класс CCAnimation

CCAnimate ссылка на класс

Zwoptex для создания спрайтов - Существует также бесплатная флеш-версия

1 голос
/ 29 октября 2011

Создайте 5 спрайтов с 5 различными изображениями. Поместите их все в одну позицию. Установите 4 из спрайтов как невидимых (sprite.visible = NO).

Если вы хотите изменить спрайты, вам нужно только установить другой спрайт видимым, а текущий видимый - невидимым. Вы также можете применять такие действия, как CCFadeTo, чтобы затухать один спрайт, а затем затухать в другом.

Если вы используете затухание, убедитесь, что вы по-прежнему устанавливаете свойство visible по соображениям производительности. Спрайты с непрозрачностью 0 по-прежнему обрабатываются, а спрайты, которые не отображаются, - нет.

...