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

效果图如下:

轻松一刻:

一对盲人夫妇约定za的暗号,男人说:“打牌。”女人说:“开始。”隔壁小青年经常听到打牌,心想盲人怎么打牌呢?于是偷窥,一看原来如此。某日,小青年趁男盲人外出,溜进其家,对女盲人说:“打牌。”女盲人说:“开始。”于是两人XX。小青年本领大,至高潮处,女盲人连夸:“好牌。”到了晚上,男盲人又想与妻打牌,女盲人说:“你不是白天打了一次了吗?”男盲人一听,又急又气,惊呼:“不好,有人偷牌!”
 付费资源
  • 售价 :10.00(积分)
  • 会员价格 : 查看实际享受优惠   提示:月会员8.80积分;季会员6.80积分;年会员3.80积分;终身会员1.80积分;
  • 资源信息 :

    cocos2d-x实例学习(12)之CCBezierBy&CCBezierTo

    下载链接:*** 隐藏内容购买后可见 ***  下载密码:*** 隐藏内容购买后可见 ***

  • 注册,评论,签到,点赞,充值可获得积分,成为会员价格更优。立即购买

    为您推荐

    发表评论

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

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

    联系我们

    联系我们

    在线咨询: QQ交谈

    邮箱: 2805477110@qq.com

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

    微信扫一扫关注我们

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

    登录

    忘记密码 ?

    切换登录

    注册