我正在尝试重现 Playstation 1 游戏 Megaman X6 所做的某种淡出效果。屏幕变暗,较暗的颜色首先变为黑色,而较浅的颜色在淡入淡出后变为黑色。就像使用 bm_add 一样,只是为了让事情变得更暗而不是更亮。我尝试过使用 bm_subtract,但它与绘制一个黑色矩形相同,该矩形逐渐增加其在整个屏幕上的不透明度。所有颜色同时变为全黑。我几乎没有以前的颜色混合经验,而且我还没有完全理解它,所以我不知道该怎么做。我尝试过的所有混合模式都不起作用,我的互联网搜索也没有任何结果。我变得非常沮丧,如果有人能告诉我我需要做什么,我将不胜感激。
我当前的代码(sprDot 只是一个白色像素的 1x1 图像,而 fadeAlpha 保持在 0 和 1 之间):
draw_set_blend_mode(bm_subtract);
draw_sprite_ext(sprDot, 0, view_xview[0], view_yview[0], view_wview[0], view_hview[0], 0, make_color_rgb(fadeAlpha * 255, fadeAlpha * 255, fadeAlpha * 255), 1);
draw_set_blend_mode(bm_normal);
我的游戏画面不褪色: https ://i.imgur.com/uM6KIDK.png
我的游戏画面部分褪色: https ://i.imgur.com/xGT4KPI.png
原版游戏画面不褪色:https ://i.imgur.com/fcGvsaV.png
原版游戏画面部分褪色: https ://i.imgur.com/W5wtVMG.png