[Cocos2d-x游戏开发]画出两个连续的贝塞尔曲线

Cocos2d 提供的画曲线正能输入两个控制点,那就是一段标准的贝塞尔曲线。如果把两端曲线自然的结合起来,需要算一下两个参数,让他们具备一定的关系。

做一个贝塞尔曲线的方式是这样的

        ccBezierConfig config;
        config.controlPoint_1 = Point(10, 10);
        config.controlPoint_2 = Point(10, 20);
        config.endPosition = Point(0, 30);

        BezierTo* pBezierTo = BezierTo::create(0.5f, config);

如果做两个曲线运动可以再同样做这样一个操作。但若想保证两个曲线过渡比较平滑,需要让 第二个曲线的 controlPoint_1(P2), 第一个曲线的endPosition(P1),第一个曲线的controlPoint_2(P0) 在同一直线上。为保证做到这一点,首先算出P0P1与水平面的夹角å,给定P1P2的水平距离,即可根据å的正切值就可以算出P1P2的竖直距离。根据他们的距离可以算出他们的位置,或者是用BezierBy直接做相对位置的移动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值