奇淫技巧之技能图标冷却效果

⌚Time: 2024-11-17 18:06:00

👨‍💻Author: Jack Ge

实现技能释放后图标有逐渐冷却效果。图标被灰色遮盖,灰色逐渐向下褪去直到冷却结束。

原理可以是创建一张图片覆盖在技能图片上方。平时隐藏。技能释放后就显示。图片是一张两倍图标高度的技能遮罩图。上方是完全透明的,下方是灰色半透明。但是只显示图标大小的一部分区域,也就是红色框大小的区域

当技能释放后显示的是最底部的区域,完全灰色,在冷却过程中,显示区域逐渐上移。这样就会慢慢出现一张灰色向下降低的图片遮罩。覆盖在技能图标上方能实现技能冷却效果。

实现改变纹理显示区域,可以用sfml的setTextureRect函数实现,它能够指定显示特定区域的纹理在绘制目标上。

    sf::IntRect rect;
    rect.left = icon.left;
    rect.top = reloadProgress;//区域的上方取决于冷却进度。实现根据冷却时间平移的效果。
    rect.width = icon.width;
    rect.height = icon.height;
    //设定遮罩图片显示区域
    skillIconmask->setTextureRect(rect);

通过把图片替换成动画序列帧,应该能够实现更多冷却遮罩效果。