cocos2d-x 4.0 学习之路(十二)复杂的移动(Bezier贝塞尔曲线)

本文介绍了在cocos2d-x 4.0中实现平滑曲线运动的方法,重点讲解了BezierTo和BezierBy动作。通过设置controlPoint_1和controlPoint_2来定义贝塞尔曲线,实现不同效果的移动。并展示了两种不同的曲线运动测试案例,探讨了BezierBy相对于BezierTo以精灵当前位置为基准移动的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们今天来学习一些,比较复杂的运动。

比如想走出平滑的曲线运动,我们可以使用BezierTo和BezierBy。

这个Bezier是贝塞尔曲线,大家可以搜一下基础知识。

ccBezierConfig有3个参数,

Vec2 controlPoint_1 :curve point 1(曲线点1)
Vec2 controlPoint_2 :curve point 2(曲线点2)
Vec2 endPosition :最终位置

这个曲线点1、2都是啥意思呢?看一下百度百科的解释图就明白了。

如果你还想深入明白,这个曲线为什么这么弯曲,那就好好研究一下,贝塞尔曲线的公式计算吧(我是看不明白)

我测试了两种情况,开始和结束坐标都一样,分别是(200, 400), (600, 400)。但两次的曲线点不一样,我们可以看一下效果。

第一次测试代码和效果:

    auto sprite1 = Sprite::create("s1.png");
    sprite1->setPosition(Vec2(200, 400));
    this->addChild(sprite1);    

    ccBezierConfig bz;
    bz.controlPoint_1 = Vec2(300, 500);
    bz.controlPoint_2 =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值