animcurve_create

此函数将创建一个空的动画曲线struct,供您填充通道数据。

该函数将返回一个指向结构的指针,然后将其用于向动画曲线添加通道和其他数据。您还可以将其提供给 animcurve_get() 之类的函数,以便以后从曲线中获取数据。

当您使用此函数时,创建的结构将没有数据,要使用它,您应该至少添加一个通道,并且该通道应该添加点。要添加通道,请参见函数animcurve_channel_new(), 要向通道添加点,请参见函数animcurve_point_new()。此外,您可以通过设置 “名称” 变量为动画曲线结构命名 (如下面的示例代码所示)。添加到新动画曲线的通道应添加为数组, 其中数组中的每个项目引用一个通道结构,并且通道中的点也应添加为数组,其中每个数组项目引用一个点结构。

请注意,以这种方式创建的动画曲线必须在不再需要时删除,否则它们将占用内存空间,这可能会导致内存泄漏,减慢速度并最终使游戏崩溃。您可以在不再需要时使用函数animcurve_destroy()移除动画曲线。您不需要清理曲线内的任何通道或点数据,因为这将由垃圾收集器自动完成,当曲线本身被破坏时。

 

 

语法:

animcurve_create();

 

返回:

Animation Curve Struct

 

例子:

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” 中。然后用名称和通道数组填充此结构。通道阵列包含具有三个点的单个通道。