大家好!

我再次发布了一个动画系统。 名为"FlipFrame",它是一个工具,旨在将GameMaker的image_index和image_speed替换为一个自定义动画框架,仅使用GML编写。与其他动画系统不同,FlipFrame可以一次动画多个精灵,并不需要update()或step()函数。

它运行在两个重要函数上,希望可以帮助大家轻松掌握FlipFrame。

首先,让我们看看两个重要函数:

flipframe_flick(sprite):

flipframe_flick创建一个精灵结构体,存储精灵的信息。

.spriteIndex = flipframe_flick(spr_player_Idle) // 创建一个精灵结构体,启动精灵

在精灵结构体中,还有帮助函数等等:

.animate(sprite, animTypeEnum):

animate一个选定的精灵,使用动画类型枚举,避免在动画还没有播放时启动它。

.spriteIndex.animate(spr_player_Move, FLIPFRAME_ANIMTYPE.LOOP) //动画精灵“spr_player_Move”,以标准循环动画风格播放

这些是目前支持的枚举:

enum FLIPFRAME_ANIMTYPE
{
  LOOP, // 0 -标准循环
  ONESHOT, // 1 - 一次播放,播放完后停止
  ONESHOTB, // 2 - 一次播放,播放完后返回第一帧
  FRAMELOOPED,  // 3 - 循环播放某些帧
  TRANSITIONTO,  // 4 - 转变至另一个动画
  PINGPONG // 5 - 前后循环
}

.animation_speed(speed, [ratio]):

以像素到帧的比例改变动画速度,缺省使用FLIPFRAME_PIXELTOFRAMES。

flipframe()函数

flipframe(sprite_struct, x, y, [xscale], [yscale], [angle], [color], [alpha])  

使用精灵结构体,绘制一个动画的精灵。

 var sprHeart = flipframe_flick(ui_heartBounce)
flipframe(sprHeart, DISPLAY_X, DISPLAY_Y) // 在x位置'显示X',y位置'显示Y'绘制动画精灵

更多的帮助函数,请访问 详细文档

你可以下载FlipFrame的代码或游戏内容,来自:

Github

Itch

文档