level 4
直接问函数的话……GML里边高级混合模式那里有吧,咱没用过,也没花什么心思去理解,照搬一下原文。
draw_set_blend_mode(mode) 使用显示混合模式。有如下值: bm_normal, bm_add,
bm_subtract, 和 bm_max. 不要忘记在使用后重置为一般模式因为其他精灵和背景都按照新的模式绘制。
draw_set_blend_mode_ext(src,dest) 所谓混合模式,以利用双方的 来源及目的地的颜色.
新的颜色,是一些因素倍源与另一个因素倍的目的地. 这些因素都设定此功能.了解这一点,来源地和目的地都为红色,绿色,蓝色和alpha分量. 因此源地为 (Rs, Gs, Bs, As) 目的地为 (Rd,Gd, Bd, Ad). 所有被视为介于0和1 .混合因素,你可以选择源和目的地是:
* bm_zero: 混合因素是 (0, 0, 0, 0).
* bm_one: 混合因素是 (1, 1, 1, 1).
* bm_src_color: 混合因素是 (Rs, Gs, Bs, As).
* bm_inv_src_color: 混合因素是 (1–Rs, 1–Gs, 1–Bs, 1–As).
* bm_src_alpha: 混合因素是 (As, As, As, As).
* bm_inv_src_alpha: 混合因素是 (1–As, 1–As, 1–As, 1–As).
* bm_dest_alpha: 混合因素是 (Ad, Ad, Ad, Ad).
* bm_inv_dest_alpha: 混合因素是 (1–Ad, 1–Ad, 1–Ad, 1–Ad).
* bm_dest_color: 混合因素是 (Rd, Gd, Bd, Ad).
* bm_inv_dest_color: 混合因素是 (1–Rd, 1–Gd, 1–Bd, 1–Ad).
* bm_src_alpha_sat: 混合因素是 (f, f, f, 1); f = min(As, 1–Ad).
例如,正常的混色模式设置源地混合bm_src_alpha和目的地混合bm_inv_src_alpha .别忘了复位模式后正常使用,因为还另有其他精灵和背景在新的混合模式下绘制.绘画纹理是会带来不少工作,但可以产生更大的结果. 你甚至可以用它来制造假3D游戏。
2014年08月23日 07点08分