帧动画:一帧一帧播放
//1.创建Animation:
Animation* ani = Animation::create()
//2.添加所有的精灵帧
for(int i = 0; i < 张数; i++)
{
ani->addSpriteFrameWithFile(图片路径);
}
//3.设置播放帧动画的属性:
//1.设置间隔时间:ani->setDelayPerUnit(间隔时间)
//2.设置循环次数:ani->setLoops(循环次数);
//3.设置是否回到原始帧:ani->setRestoreOriginalFrame(true/flase);
//4.创建Animate:
Animate* animate = Animate::create(ani);
//5.播放动作:
节点->runAction(animate)
回调动作:CallFunc
- 写一个函数,无返回值且无参
CallFunc* callFunc = CallFunc::Create(CC_CALLBACK_0(类名::函数名,调用的对象));
- 序列动作:
Sequence(动作按照前后顺序一一执行)- 必须以空结尾
Sequence* seqAct = Sequence::create(动作1,动作2,...,nullptr)
动作
- 所有的动作的基类:Action(类名::create)
- 执行动作:节点->runAction(Action*);
- Action(动作):
FiniteTimeAction:有限时间动作ActionInstant:即时动作ActionInterval:持续动作
-
即时动作:指能够立刻完成的动作,这类动作都会在下一帧完成;
- 例如设置位置/设置旋转/隐藏/显示/回调动作等
-
持续动作:指不能够立刻完成的动作
- 例如移动/旋转/动画/序列等
-
属性变化动作:通过属性值的逐渐变化,来实现一个动画效果.(To代表最终指,By表示向量变量值)
- 例如
MoveTo/MoveBy/RotateTo/RotateBy/ScaleTo/ScaleBy/JumpTo/JumpBy等
- 例如
-
视觉特效动作:
- 例如
FadeIn(淡入)/FadeOut(淡出)/TintTo(颜色变化)/TintBy/Blink(闪烁)/Animate;
- 例如
-
其他动作:
DelayTime(延时)/Repeat(重复)/RepeatForever(一直重复) -
复合动作(必须以nullptr结尾):
- 序列动作
Sequence:动作按照顺序有序执行 - 组合动作
Spawn:动作同时执行
- 序列动作
-
clone:克隆相同的动作; -
reverse:将动作翻转执行
- 停止动作:
节点->stopAction(Action *);//停止某一个动作节点->stopActionByTag();//通过标签停止动作节点->stopAllActions();//通知所有动作