cocos2d-x-3.x 动作(3)重复动作
简单的讲,就是将动作(2)里的动作如何重复进行~
1 bool HelloWorld::init() 2 { 3 if (!Layer::init()) 4 { 5 return false; 6 } 7 8 Size visibleSize = Director::getInstance()->getVisibleSize(); 9 Sprite *label = Sprite::create("what.png"); 10 label->setPosition(visibleSize.width / 2, visibleSize.height / 2); 11 addChild(label); 12 auto listener = EventListenerTouchOneByOne::create(); 13 listener->onTouchBegan = [label](Touch *t, Event *e){ 14 15 if (label->getBoundingBox().containsPoint(t->getLocation())){ 16 //label->runAction(MoveTo::create(1, Point(100, 100))); //前两节的不用管... 17 //label -> runAction(MoveBy::create(0.1, Point(-20, -20))->reverse()); //也是前两节的不用管... 18 } 19 return false; 20 }; 21 Director::getInstance()->getEventDispatcher()-> 22 addEventListenerWithSceneGraphPriority(listener,label); 23 label->runAction(RotateBy::create(1, 180)); //看这里!这个是在1S内将目标旋转180度 24 //label->runAction(Repeat::create(RotateBy::create(1,180),3)); //这个是旋转三次 25 //label->runAction(RepeatForever::create(RotateBy::create(1, 180))); //这个是一直旋转下去 26 return true; 27 }
顺便说一下,想要反着转的话直接给角度加个负号就可以了。。。某人些(比如我)傻乎乎的去找反转函数。。。
弄个螺旋线的图旋转还是挺有魔性的23333333.