iOS – программное изменение изображения спрайта CCFile

StackOverflow https://stackoverflow.com//questions/22072298

Вопрос

Я использую Cocoa2Ds для создания игры для iOS.Я знаю, что это, вероятно, просто, но есть ли способ программно изменить изображения спрайтов CCFile?

Я создал объект-спрайт героя, а затем перетащил его на главную сцену с помощью SpriteBuilder.

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

Это было полезно?

Решение

Вы спрашивали об изменении изображения «CCFile», но я предполагаю, что вы имели в виду изображение «CCSprite».Если да, то изменить изображение спрайта можно, сначала создав рамку спрайта, а затем назначив ее спрайту:

CCSpriteFrame * frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"NameOfFrame"];
[mySprite setDisplayFrame:frame];

Чтобы это работало, изображение, на которое вы ссылаетесь, должно быть уже загружено в память, например, через лист спрайтов:

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"SpriteSheetFileName.plist"];

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

NSString * animateCycle = [NSString stringWithFormat:@"ImageName 00%%02d.png"];

Имена изображений будут выглядеть следующим образом: «ImageName 0001.png», «ImageName 0002.png» и т. д.

CCActionInterval * action = [CCAnimate actionWithSpriteSequence:animateCycle numFrames:8 delay:.1 restoreOriginalFrame:YES];
[mySprite runAction:action];

Это будет циклически перебирать изображения в зависимости от назначенной задержки.

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top