【问题标题】:How to draw a sprite in Game Maker with gradually increasing alpha (opacity)?如何在 Game Maker 中以逐渐增加的 alpha(不透明度)绘制精灵?
【发布时间】:2013-12-05 18:44:32
【问题描述】:

我需要在Game Maker 中绘制一个精灵,其中正在绘制的精灵的不透明度(alpha)是一个渐变,而不是一个固定值。

简单来说,我需要精灵看起来像是从它的边缘之一淡出

【问题讨论】:

    标签: game-maker


    【解决方案1】:

    最简单的方法是在编辑器中的图像 -> 渐变下对精灵应用渐变。如果你想在代码中做到这一点,我能想到的唯一方法是:

    for (_t = 0;_t < sprite_get_width(sprite);_t ++){
        draw_sprite_part_ext(sprite,0,_t,0,_t+1,sprite_get_height(sprite),x+_t,y,1,1,c_white,_t/(sprite_get_width(sprite)))
    }
    

    (将此代码放入绘图事件并将“精灵”更改为您的精灵)

    更新:

    以上代码仅适用于游戏制作工作室,游戏制作者8.0或更低版本将代码更改为:

    for (_t = 0;_t < sprite_get_width(sprite);_t +=1 ){
        draw_sprite_part_ext(sprite,0,_t,0,1,sprite_get_height(sprite),x+_t,y,1,1,c_white,_t/(sprite_get_width(sprite)))
    }
    

    【讨论】:

    • 此代码生成几乎是原始宽度两倍的拉伸图像。我认为它与draw函数的width参数有关。但我不知道是什么。
    猜你喜欢
    • 2016-08-20
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多