逐帧动画死活不动

Sprite* sprite = nullptr;
string keyRoot = “role/role” + Value(id).asString() + “/”;
Animation *animation = Animation::create();
for (int i = 0; i < frameCnt; i++)
{
string keyName = keyRoot + “role” + Value(i+1).asString() + “.png”;
if (sprite == nullptr)
{
sprite = Sprite::create(keyName);
}
animation->addSpriteFrameWithFile(keyName);
}
Animate *animate = Animate::create(animation);
sprite->runAction(RepeatForever::create(animate));
this->addChild(sprite);
sprite->setPosition(Point(100, 100));

逐帧动画死活不动,一直停留在第一帧,求大侠解答

以前好像记得说是需要把sprite还要加到一个啥东西里面runaction的效果才会有,但是现在查以前的资料却都没有这个描述,
不知道是否是我穿越了。

真是牛B翻天的接口。
Animation *animation = Animation::create();
animation 直接create出来的,必须调用1次animation->setDelayPerUnit(0.1f);来设置帧频,否则动画就不会跑。
用过AS的都知道MC在new出来后帧频默认与舞台保持一致,Animation 里面给个默认值会死?