您的位置:首页 > 其它

动画帧加载过程

2016-03-03 20:02 411 查看
SpriteFrame 需要创建一帧帧的精灵,然后通过Animation进行合并成一个动画,Animate是一个action,用来加载动画,然后进行播放

anim_array = Array::create();
anim_array->retain();
Vector<SpriteFrame* > frameArray;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
auto sprite = SpriteFrame::create("fenghuang.png", Rect(j*BIRD_WIDTH, i*BIRD_HIGHT, BIRD_WIDTH, BIRD_HIGHT));
frameArray.pushBack(sprite);
}
auto animation = Animation::createWithSpriteFrames(frameArray, 0.1f);
anim_array->addObject(animation);
frameArray.clear();
}
auto animation = static_cast<Animation*>(anim_array->getObjectAtIndex(0));
auto spritebird = Sprite::create("fenghuang.png", Rect(0, 0, BIRD_WIDTH, BIRD_HIGHT));
spritebird->setName("bird");
this->addChild(spritebird);
auto aciton = Animate::create(animation);
spritebird->setPosition(Point(200, 200));
spritebird->runAction(RepeatForever::create(aciton));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: