Как изменить образ CCSprite в cocos2d v3.x
В cocos2d 2.x мы меняем образ CCSprite, используя CCTexture. Но в cocos2d 3.x CCTextureCache кажется устаревшим, так как Xcode предупреждает меня: "необъявленный идентификатор" CCTextureCache "". Или, может быть, я что-то пропустил, поскольку я новичок в кокосах.
Так как мы можем изменить образ CCSprite в v3??
Спасибо.
2 ответа
Решение
Я думаю, что я знаю, как это сделать.
- Мы должны использовать spriteSheet, созданный с помощью TexturePacker [примечание: может быть, неправильно говорить о внешних ресурсах, подобных этому в SO], например (например, у нас есть 2 изображения: monster_01.png и monster_02.png).
- Мы добавляем.plist и.png в xCode
- Мы помещаем спрайт-лист в кеш
- и затем мы можем создать CCSprite с фреймом, используя элемент таблицы спрайтов.
- Это изображение можно изменить.
Некоторый код:
3) ставим в кеш
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"monsterSpriteSheet.plist"];
4) Создаем спрайт
CCSprite * mySprite = [CCSprite initWithSpriteFrame: [CCSpriteFrame frameWithImageNamed: @"monster_01.png"]];
5) Чтобы изменить изображение:
[mySprite setSpriteFrame:[CCSpriteFrame frameWithImageNamed: @"monster_02.png"]];
Это прекрасно работает с cocos2d v3.
Я потратил 6 часов на этот процесс. Иногда я чувствую себя глупо.
Вы можете сделать это с помощью этого
CCSpriteFrameCache и после этого вы можете изменить свой спрайт с помощью функции setSpriteFrame из ccsprite.