image_index
精灵由一个或多个子图像组成,这些子图像可以使精灵在从一个切换到另一个时显示为动画,或者可以在代码中切换以提供不同的“状态”,就像Windows中的按钮一样。如果精灵已设置动画,则可以通过检查image_index变量来获取动画的当前帧,或者如果要更改静态精灵的状态,则可以通过将此变量设置为精灵的所需子图像来选择新的子图像。
用法说明
- 要使此变量中的更改可见,该实例应该具有nodraw事件(因此GameMaker将默认绘制精灵),或者使用其中一个绘制函数绘制,如draw_self()或draw_sprite_ext() (通过将image_index提供给适当的参数)。
- 将此变量直接设置为帧将不会触发该帧上可能存在的任何广播消息。
- 使用骨骼动画精灵时,您仍然可以获取和设置 image_index 值-有关如何执行此操作的示例,请参见函数 skeleton_animation_get_duration()。
- 拉伸帧将作为一个数字的分数返回。例如,如果在精灵编辑器中将第1帧拉伸到最后4帧,则这4帧不会返回值1、2、3、4,而是返回1.0、1.25、1.5和1.75。
- 这意味着,如果向image_index添加1,它将以相同的方式跳过帧,而不考虑其拉伸长度。
语法:
image_index;
返回:
Real (single precision floating point value)
例子:
if (image_speed > 0)
{
if (image_index >= image_number - 1) instance_destroy();
}
上面的代码检查sprite是否正在设置动画,如果是,则检查当前image_index是否位于最后一帧,如果是,则销毁该实例。