如何在 game Maker 中使用纹理遮罩?

how to use texture masks in game Maker?

首先,我不确定 "texture masks" 是否是此处使用的正确术语,所以如果有人知道它是什么,请告诉我。

所以真正的问题。我想在 GameMaker: Studio 中有一个对象,当它围绕它移动时,它的纹理会根据它的位置发生变化,方法是从它后面的一个更大的静态图像中拉出来。我已经制作了一张它可能看起来像的快速 gif。

可以找到here

可能有助于解释这一点的另一张图片是这张图片的 "source-in" 部分。

这是对 MrDave 在 Steam GML 论坛上发布的同一问题的回复:

您要找的特征是draw_set_blend_mode(bm_subtract)

基本上,您必须将所有内容绘制到表面上,然后使用上面的代码将绘制模式切换为 bm_subtract。这将做的不是将图像绘制到屏幕上,而是将它们删除。所以你现在在背景上画块,这将删除那个区域。然后你可以把你刚刚放在表面上的所有东西都画到屏幕上。

(记得重置绘图模式和表面目标。)

第一次很难理解,但实际上,一旦你习惯了,它并没有那么复杂。