cocos2d-x实例学习(12)之CCBezierBy&CCBezierTo[小鱼游戏开发]

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);

效果图如下:

轻松一刻:

三堂姐家的孩子八个多月了,看见我四堂姐换内衣呢,快速爬过去,一口就给叼住了,当时就给我四堂姐整蒙圈了。我妈过去抱起孩子说:宝宝啊,别去吃了,那个是赝品,没有汤的。
 下载地址
登录  查看下载地址。

提示:注册,评论,每日签到,点赞可获得积分。

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

联系我们

联系我们

在线咨询: QQ交谈

邮箱: 2805477110@qq.com

周一至周六,8:00-21:00,节假日休息
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部
切换注册

登录

忘记密码 ?

切换登录

注册