cocos2d-x实例学习(12)之CCBezierBy&CCBezierTo由小鱼游戏开发精心整理,并分享给大家。喜欢该资源的小伙伴请下载使用,注册、回复、每日签到、点赞送大量积分,满足您免费下载的愿望
CCBezierBy&CCBezierTo概念
CCBezierBy:把某一对象以贝赛尔曲线移动到某一位置。它的类继承图为:
CCBezierTo:把某一对象以贝赛尔曲线移动一段距离。它的类继承图为:
ccBezierConfig:CCBezierBy和CCBezierTo的配置类,它有三个公共属性,
CCPoint endPosition:贝赛尔曲线结束点
CCPoint controlPoint_1:贝赛尔曲线第一控制点
CCPoint controlPoint_2:贝赛尔曲线第二控制点
注: 下一篇文章将专门说下贝赛尔曲线
CCBezierBy&CCBezierTo使用方式
CCSize s = CCDirector::sharedDirector()->getWinSize(); //把开始点设为(0,0)点 centerSprites(3); // sprite 1 ccBezierConfig bezier; bezier.controlPoint_1 = ccp(0, s.height/2); //赛尔曲线第一控制点 bezier.controlPoint_2 = ccp(300, -s.height/2); //赛尔曲线第二控制点 bezier.endPosition = ccp(300,100); //赛尔曲线结束点 CCActionInterval* bezierForward = CCBezierBy::create(3, bezier); CCActionInterval* bezierBack = bezierForward->reverse(); CCAction* rep = CCRepeatForever::create((CCActionInterval*)CCSequence::create( bezierForward, bezierBack, NULL)); // sprite 2 m_tamara->setPosition(ccp(80,160)); ccBezierConfig bezier2; bezier2.controlPoint_1 = ccp(100, s.height/2); bezier2.controlPoint_2 = ccp(200, -s.height/2); bezier2.endPosition = ccp(240,160); CCActionInterval* bezierTo1 = CCBezierTo::create(2, bezier2); // sprite 3 m_kathia->setPosition(ccp(400,160)); CCActionInterval* bezierTo2 = CCBezierTo::create(2, bezier2); m_grossini->runAction( rep); m_tamara->runAction(bezierTo1); m_kathia->runAction(bezierTo2);
效果图如下:
轻松一刻:
三堂姐家的孩子八个多月了,看见我四堂姐换内衣呢,快速爬过去,一口就给叼住了,当时就给我四堂姐整蒙圈了。我妈过去抱起孩子说:宝宝啊,别去吃了,那个是赝品,没有汤的。
下载地址
登录 查看下载地址。
提示:注册,评论,每日签到,点赞可获得积分。