objective-c – Cocos2D Bezier曲线围绕物体,如同重力一样
发布时间:2020-12-16 03:08:08 所属栏目:百科 来源:网络整理
导读:我试图操纵一个对象.当它接近另一个对象时,让我们说一个地球仪,我想让地球仪在原始对象上引力引力.我知道我应该使用CCBezierTo,所以这不是一个编程问题,因为它是一个数学问题. 在数学上,我如何找出贝塞尔曲线(1,2和结束)的三个点,并根据其距离给出一个重量(
我试图操纵一个对象.当它接近另一个对象时,让我们说一个地球仪,我想让地球仪在原始对象上引力引力.我知道我应该使用CCBezierTo,所以这不是一个编程问题,因为它是一个数学问题.
在数学上,我如何找出贝塞尔曲线(1,2和结束)的三个点,并根据其距离给出一个重量(更远的=较小的拉力).我已经将距离映射到一个变量中. 想想一下在月球上弹弓的宇宙飞船. 码: ccBezierConfig bezier; bezier.controlPoint_1 = ccp(projectile.position.x + 10,projectile.position.y + 20); bezier.controlPoint_2 = ccp(projectile.position.x + 20,projectile.position.y + 40); bezier.endPosition = ccp(projectile.position.x + 30,projectile.position.y+60); id bezierAction = [CCBezierTo actionWithDuration:1 bezier:bezier]; [projectile stopAllActions]; [projectile runAction: bezierAction]; 解决方法
轨迹将是圆锥截面(线,双曲线,抛物线,椭圆或圆).
您可以将其表示为理性贝塞尔曲线. 如果你坚持使用二次贝塞尔曲线,我将使用这样的函数 我认为,如果您只是计算圆锥截面并将其绘制为线循环将是最简单的方法. 或者您实现一个verlet积分器,并解决运动方程式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |