2016-10-15 2 views
0

Привет, я новичок в cocos2dx v3, и я нахожу, что у него очень чистое api, но очень плохая документация. Я пытаюсь загрузить анимацию частиц с http://particle2dx.com/. оттуда я получаю файл .plist, как его открыть и загрузить анимацию. насколько анимация листа спрайтов из файла .plist я знаю, хо, чтобы сделать это, но в этом случае я знаю имена фреймов и там номер заранее. но как играть анимацию частиц из файла .plist.cocos2dx v3 particle animation

вот что я делать, чтобы играть с .plist файла, как я могу изменить его

auto cache = SpriteFrameCache::getInstance(); 
cache->addSpriteFramesWithFile("run.plist"); 
Vector<SpriteFrame*> frames = Vector<SpriteFrame*>(); 


frames.pushBack(cache->getSpriteFrameByName("0001.png")); 
frames.pushBack(cache->getSpriteFrameByName("0002.png")); 
frames.pushBack(cache->getSpriteFrameByName("0003.png")); 
frames.pushBack(cache->getSpriteFrameByName("0004.png")); 
frames.pushBack(cache->getSpriteFrameByName("0005.png")); 
frames.pushBack(cache->getSpriteFrameByName("0006.png")); 
Animation* anim = cocos2d::Animation::createWithSpriteFrames(frames, 0.1f, 1); 

Animate* anim_action = cocos2d::Animate::create(anim); 
auto sprite = Sprite::create("boy1.png"); 
//sprite is already added to scene elsewhere and ready to go 
sprite->runAction(RepeatForever::create(anim_action)); 
sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y)); 
this->addChild(sprite, 2); 

ответ

1

вы ищете анимацию частиц, и вы пытаетесь покадровой анимацией в коде .. если вы хотите используйте файл .plist, созданный с помощью particle2dx.com, тогда вы можете это сделать

сначала на сайте http://particle2dx.com/ -> перейти к ссылке для экспорта -> нажать на кнопку загрузки, написанную "png contains" .. теперь у вас будет загружен файл plist, теперь используйте этот код для применения анимации частиц

ParticleSystemQuad *particle_Tap=ParticleSystemQuad::create("run.plist"); 
particle_Tap->setPosition(point); 
particle_Tap->setScale(FACTOR_XY); 
this->addChild(particle_Tap,100); 

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