cocos2d-x中的各种动作组合

时间:2022-08-22 23:32:10
首先 先在场景上添加一个label标签
auto label=Label::createWithSystemFont("anything",“”,20);
this->addChild(label,0,1);
接下来呢让这个label动起来


1.执行动作
label->runAction(MoveTo::create(1,Vec2(100,100))); 
这样就给label一个MoveTo动作,执行时间是1s,移动到100,100的位置。
 
2.动作反转
label->runAction(MoveTo::create(1,Vec2(100,100))->reverse()); 
给Action动作执行一个reverse()方法,就能让动作反转执行
 
3.动作重复
如果让label在1s内旋转180度
label-runAction(RotateBy::create(1,180)); 
重复执行此动作3次:
label-runAction(Repeate::create(RotateBy::create(1,180))); 
永久重复执行动作
label-runAction(RepeateForever::create(RotateBy::create(1,180))); 
 
4.混合动作同时执行
label->runAction(Spawn::create(MoveTo::create(1,Vec2(100,100)),RotateBy::create(1,360),NULL)); 
使用Spawn可以实现多个动作同时进行,让label1s内移动到100,100的位置同时自身旋转一周。并且在末尾要写一个NULL,能标识动作组的结束
 
5.混合动作顺序执行
label->runAction(Sequence::create(MoveTo(1,Vec2(100,100)),RotateBy::create(1,360),NULL)); 
其实Sequence跟Spawn使用方法一样,一个是同时,一个是顺序
这样呢 这个label看起来就活灵活现了