Roope的Cocos2d-x学习之旅 003:无限重复和有限重复动作——RepeatForever和Repeat
I just don’t want to regret it:
1.无限重复动作RepeatForever(喂,我还没让你停呢~)
当我们想重复一个动作时,我们不可能一直都runAction,这时我们可以使用RepeatForever来帮助我们达到我们想要的效果。
RepeatForever的使用非常简单,直接把动作对象传给构造函数即可(如JumpBy,弹跳动作)。
JumpBy的creat函数的参数有4个。如:JumpBy::creat(3.0f, Point(50, 10), 100, 1);
其中3.0f就是一个动作的持续时间,Point(50, 10)也就是比如说你初始点P(x, y);完成动作后,到达了P’(x + 50, y + 10);后面的100也就是你这个动作跳的高度的峰值,而1,也就是说在这个动作持续的时间里你跳的次数。
好了,现在让我们来看看示例吧(_(:з」∠)_):
Size visivleSize = Director::getInstance()->getVisibleSize(); Sprite* sprite = Sprite::create("sprite.png"); sprite->setPosition(Point(visivleSize.width / 2, visivleSize.height / 2)); addChild(sprite); JumpBy* jumpBy = JumpBy::create(3.0f, Point(50, 1), 100, 1); RepeatForever* repeatForeverAction = RepeatForever::create(jumpBy); //Repeat * repeatAction = Repeat::create(jumpBy, 3); sprite->runAction(repeatForeverAction);
2.有限次数的重复动作Repeat(我让你做多少次,你就给我做多少次!
)
![[右哼哼] 技术分享](http://img.t.sinajs.cn/t4/appstyle/expression/ext/normal/98/yhh_org.gif)
Repeat的用法和RepeatForever是一样的。只要改下就行了。
Repeat * repeatAction = Repeat::create(jumpBy, 5); sprite->runAction(repeatAction);
这里就是让动作重复5次。
文章来自:http://blog.csdn.net/ricardo_he/article/details/44781657