https://youtu.be/9PhHd75mqIA

这是一个短视频,展示了如何在 Gamemaker Studio 2 中使用表面创建漂亮的追踪效果。

当我制作我的游戏时,我忘记在其中一个表面上调用 draw_clear_alpha,这导致了一些实验,最终产生了有用的结果。

我注意到一些人在这里能够将图片和文本一起发布,制作出漂亮的指南,但我不知道如何做到。因此,我发布了一个 YouTube 指南的链接,展示了效果的视觉。

简而言之,我们是这样做的:我们像平常一样绘制表面,但不是每帧都清除表面,而是绘制一个半透明的黑色矩形覆盖它,逐渐淡化它。当绘制实际表面时,我们使用 gpu_set_blendmode(add)来确保矩形的黑色不被绘制在背景上。

示例对象(一个简单的对象绘制白色圆圈到屏幕上):

创建事件

trace_surface = surface_create(room_width, room_height)

function set_trace_surface(){

`if not surface_exists(trace_surface){`

    `trace_surface = surface_create(room_width, room_height)`

`}`

`surface_set_target(trace_surface)`



`draw_set_color(c_black)`

`draw_set_alpha(0.05)`

`draw_rectangle(0,0,room_width,room_height,0)`

`draw_set_alpha(1)`

}

绘制事件

set_trace_surface()

draw_set_color(c_white)

draw_circle(x, y, 32, 0)

surface_reset_target()

gpu_set_blendmode(bm_add)

draw_surface(trace_surface, 0, 0)

gpu_set_blendmode(bm_normal)

当我们移动圆圈时,我们会得到一个漂亮的追踪效果。

我使用了这个来创建雨滴粒子和一些在我的游戏 Feypath 中出现的生物。如果你想看看它(并且如果你觉得慷慨的话,可以在 Steam 上收藏它),你可以在这里找到:

Feypath 在 Steam 上