Love2D APIBezierCurve本页总览BezierCurve 描述: 一个贝塞尔曲线对象,可以评估和渲染任意阶数的贝塞尔曲线。 type 类型: 函数。 描述: 获取字符串形式的对象类型。 签名: type: function(self: BezierCurve): string 返回值: 返回类型描述string字符串类型。 Of 类型: 函数。 描述: 检查对象是否属于某种类型。如果对象的层次结构中具有指定名称的类型,则此函数将返回 true。 签名: typeOf: function(self: BezierCurve, type_name: string): boolean 参数: 参数名类型描述type_namestring要检查的类型的名称。 返回值: 返回类型描述boolean如果对象属于指定类型,则为 true,否则为 false。 release 类型: 函数。 描述: 销毁对象的 Lua 引用。如果该对象未被任何其他 LÖVE 对象或线程引用,则该对象将被完全删除。 这个方法可以用来立即清理资源,而不需要等待Lua的垃圾收集器。 签名: release: function(self: BezierCurve): boolean 返回值: 返回类型描述boolean如果对象已通过此调用释放,则为 true;如果先前已释放过该对象,则为 false。 getDegree 类型: 函数。 描述: 获取贝塞尔曲线的阶数。次数等于控制点数 - 1。 签名: getDegree: function(self: BezierCurve): integer 返回值: 返回类型描述integer贝塞尔曲线的阶数。 getDerivative 类型: 函数。 描述: 获取贝塞尔曲线的导数。 该函数可用于旋转沿着曲线移动的精灵的运动方向,并在某个参数 t 处计算垂直于曲线的方向。 签名: getDerivative: function(self: BezierCurve): BezierCurve 返回值: 返回类型描述BezierCurve导数曲线。 getControlPoint 类型: 函数。 描述: 获取第i个控制点的坐标。索引从 1 开始。 签名: getControlPoint: function(self: BezierCurve, index: integer): number, number 参数: 参数名类型描述indexinteger控制点的索引。 返回值: 返回类型描述number控制点沿 x 轴的位置。number控制点沿 y 轴的位置。 setControlPoint 类型: 函数。 描述: 设置第i个控制点的坐标。索引从 1 开始。 签名: setControlPoint: function(self: BezierCurve, index: integer, x: number, y: number) 参数: 参数名类型描述indexinteger控制点的索引。xnumber控制点沿 x 轴的位置。ynumber控制点沿 y 轴的位置。 insertControlPoint 类型: 函数。 描述: 插入控制点作为新的第 i 个控制点。从 i 开始的现有控制点向后推 1。索引从 1 开始。负索引环绕:-1 是最后一个控制点,-2 是最后一个控制点之前的控制点,等等。 签名: insertControlPoint: function(self: BezierCurve, x: number, y: number, index?: integer) 参数: 参数名类型描述xnumber控制点沿 x 轴的位置。ynumber控制点沿 y 轴的位置。indexinteger控制点的索引。 (默认值:-1。) removeControlPoint 类型: 函数。 描述: 删除指定的控制点。 签名: removeControlPoint: function(self: BezierCurve, index: integer) 参数: 参数名类型描述indexinteger要删除的控制点的索引。 getControlPointCount 类型: 函数。 描述: 获取贝塞尔曲线中控制点的数量。 签名: getControlPointCount: function(self: BezierCurve): integer 返回值: 返回类型描述integer控制点数。 translate 类型: 函数。 描述: 将贝塞尔曲线移动一个偏移量。 签名: translate: function(self: BezierCurve, x: number, y: number) 参数: 参数名类型描述xnumber沿 x 轴的偏移。ynumber沿 y 轴的偏移。 rotate 类型: 函数。 描述: 将贝塞尔曲线旋转一个角度。 签名: rotate: function(self: BezierCurve, angle: number, origin_x?: number, origin_y?: number) 参数: 参数名类型描述anglenumber以弧度为单位的旋转角度。origin_xnumber旋转中心的X坐标。 (默认值:0。)origin_ynumber旋转中心的Y坐标。 (默认值:0。) scale 类型: 函数。 描述: 将贝塞尔曲线缩放一个因子。 签名: scale: function(self: BezierCurve, scale: number, origin_x?: number, origin_y?: number) 参数: 参数名类型描述scalenumber比例因子。origin_xnumber缩放中心的X坐标。 (默认值:0。)origin_ynumber缩放中心的Y坐标。 (默认值:0。) evaluate 类型: 函数。 描述: 在参数 t 处评估贝塞尔曲线。该参数必须介于 0 和 1 之间(包含 0 和 1)。 此函数可用于沿路径或补间参数移动对象。但是,它不应该用于渲染曲线,为此目的请参阅 BezierCurve:render 。 签名: evaluate: function(self: BezierCurve, time: number): number, number 参数: 参数名类型描述timenumber在哪里评估曲线。 返回值: 返回类型描述number参数 t 处曲线的 x 坐标。number参数 t 处曲线的 y 坐标。 getSegment 类型: 函数。 描述: 获取与此 BezierCurve 的指定段相对应的 BezierCurve。 签名: getSegment: function(self: BezierCurve, start: number, finish: number): BezierCurve 参数: 参数名类型描述startnumber沿曲线的起点。必须介于 0 和 1 之间。finishnumber段结束。必须介于 0 和 1 之间。 返回值: 返回类型描述BezierCurve与指定线段相对应的贝塞尔曲线。 render 类型: 函数。 描述: 获取要与love.graphics.line. 该函数使用递归细分对贝塞尔曲线进行采样。您可以使用深度参数控制递归深度。 如果您只是想知道给定参数的曲线上的位置,请使用 BezierCurve:evaluate。 签名: render: function(self: BezierCurve, accuracy?: integer): {number} 参数: 参数名类型描述accuracyinteger递归细分步骤数。 (默认值:5。) 返回值: 返回类型描述{number}曲线上 x,y 坐标点对的列表。 renderSegment 类型: 函数。 描述: 获取曲线特定部分的坐标列表,与 love.graphics.line. 该函数使用递归细分对贝塞尔曲线进行采样。您可以使用深度参数控制递归深度。 如果您只需要知道给定参数的曲线上的位置,请使用BezierCurve:evaluate。 签名: renderSegment: function(self: BezierCurve, start: number, finish: number, accuracy?: integer): {number} 参数: 参数名类型描述startnumber沿曲线的起点。必须介于 0 和 1 之间。finishnumber要渲染的段的结尾。必须介于 0 和 1 之间。accuracyinteger递归细分步骤数。 (默认值:5。) 返回值: 返回类型描述{number}曲线指定部分上的点的 x,y 坐标对列表。