animcurve_channel_new

该函数可用于创建新的动画曲线通道struct

通道结构具有以下变量:

动画曲线通道结构
变量名数据类型描述
namestring这是通道的名称。
type动画曲线插值类型常数这将是下表中给出的常数之一。
iterationsinteger如果通道使用catmull- rom (“平滑”) 插值,则可以保存为曲线的每段生成了多少个点 (请注意,这些额外的点在函数内部,仅用于运行时计算)。如果通道使用线性插值,则该值仍将存在,但可以忽略,因为它与曲线的插值方式无关。
pointsarray这是一个数组,其中数组中的每个项目都是一个Animation Curve Point Struct

 

动画曲线插值类型常数
常量描述
animcurvetype_linearUsed for linear interpolation between points.
animcurvetype_catmullromUsed for smooth interpolation between points using Catmull-Rom interpolation.
animcurvetype_bezierUsed for Bezier interpolation between points.


默认情况下,当您创建新的通道结构时,“名称” 变量将是一个空字符串,“类型” 将是animcurvetype_linear,“迭代” 将是16。所有这些变量都可以设置为您需要的值 (请注意,“迭代” 值对线性曲线类型没有影响)。创建后,您需要将点添加到曲线,这是通过将不同的点结构添加到 “点”数组来完成的。这些点结构可以使用函数animcurve_point_new()创建。

 

语法:

animcurve_channel_new();

 

返回:

动画曲线通道结构

 

例子:

my_curve = animcurve_create();
my_curve.name = "My_Curve";
var _channels = array_create(1);
_channels[0] = animcurve_channel_new();
_channels[0].name = "alpha";
_channels[0].type = animcurvetype_catmullrom;
_channels[0].iterations = 8;
var _points = array_create(3);
_points[0] = animcurve_point_new();
_points[0].posx = 0;
_points[0].value = 0;
_points[1] = animcurve_point_new();
_points[1].posx = 0.5;
_points[1].value = 1;
_points[2] = animcurve_point_new();
_points[2].posx = 1;
_points[2].value = 0;
_channels[0].points = _points;
my_curve.channels = _channels;

上面的代码创建了一个新的动画曲线结构,并将其存储在变量 “my_curve” 中。然后用名称和通道数组填充此结构。通道阵列包含具有三个点的单个通道。