首页 > 其他 > 详细

cocos2d-x-3.x 动作(5)序列动作

时间:2015-12-06 01:39:54      阅读:131      评论:0      收藏:0      [点我收藏+]

其实就是按照顺序来执行动作指令。

 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             //label->runAction(Spawn::create(MoveBy::create(1, Point(100, 100)),
19             //    RotateBy::create(1, 360), NULL));    
20             label->runAction(Sequence::create(MoveBy::create(1, Point(100,
21                 100)), RotateBy::create(1, 360), NULL));    //此处创建,点击先执行移动,再执行旋转,再次点击再移动,接着旋转
22         }                                                              
23         return false;
24     };
25     Director::getInstance()->getEventDispatcher()->
26         addEventListenerWithSceneGraphPriority(listener,label);
27                                                              //放这里直接执行                      
28     //label->runAction(RotateBy::create(1, 180));
29     //label->runAction(Repeat::create(RotateBy::create(1,180),3));
30     //label->runAction(RepeatForever::create(RotateBy::create(1, 360)));
31     return true;
32 }

一大堆注释代码可以无视,放在下面位置的话直接执行。

cocos2d-x-3.x 动作(5)序列动作

原文:http://www.cnblogs.com/aprillie/p/5022632.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!