Cocos幀動畫Animate和Animation建立
阿新 • • 發佈:2019-01-22
本文為作者原創,其中知識內容出自閃電終結者的視訊課程
首先用ppt簡單的做一個幀動畫,把做好的每一張圖片命名為pass01.png pass02.png ….複製到res資料夾下
// 精靈是用於顯示動畫效果,需要寫一個動畫,然後往動畫中新增圖片,在讓精靈顯示出來
void TransferTestScene::spritePlayShow() {
auto sprite = cocos2d::Sprite::create();
// 設定錨點
sprite -> setAnchorPoint(cocos2d::Vec2(0, 0));
// 設定座標
sprite -> setPosition(0 , 0);
auto animation = cocos2d::Animation::create(); // 建立動畫
for (int index = 1; index <= 19; index++) {
auto str = new char[50];// std::isstream << ""
std::sprintf(str, "pass/pass%02d.png", index);
animation -> addSpriteFrameWithFile(str); // 向動畫新增圖片
}
for (int index = 19; index >= 1; index--) {
auto str = new char[50];// std::isstream << ""
std::sprintf(str, "pass/pass%02d.png", index);
animation -> addSpriteFrameWithFile(str); // 向動畫新增圖片
}
// 設定動畫幀率
animation -> setDelayPerUnit(5.0f / 38);
// // 設定動畫播放完畢後是否回到第一幀
// animation -> setRestoreOriginalFrame(true);
// 用動畫建立精靈動作
auto action = cocos2d::Animate::create(animation);
// 讓精靈來完成動作
sprite -> runAction(cocos2d::RepeatForever::create(action));
addChild(sprite);
Animation是由許多精靈幀組成,可以設定間隔時間,持續時間等,它實際上是包含著一組資料。Animate是一個動作,它是通過Animation物件建立。