之前在MTK上写的火焰特效。
功能简单,音乐播放时,火焰升起;音乐暂停,火焰暂停;同时可实现多色可选。
主要使用高斯模糊和调色板等;单独使用一个火焰图层;使用带ALPHA值的RGB,与底层RGB叠加。
优缺点:使用深色底图效果优;使用浅色底图效果相对差一些。
有需要的(有偿)可联系MSN:qdsh2@163.com,(请注明火焰)
效果如图:
控制代码如下:
void fire_main(void)
{
U8 i, h, temp;
set_fire();
/*begin---每个timer都从最底下向上刷,同时要把之前的火焰向上扩展*/
temp = FireLayerHeight;
while((temp >= g_top))
{
for(h = temp - 1; h >= temp - 4;h--)
for(i = 0; i< FireLayerWidth; i++)
{
GS_screen(h, i);
set_color(h, i);
}
temp -= 4;
}
/*end---每个timer都从最底下向上刷,同时要把之前的火焰向上扩展*/
if(g_top >= 4)
{
g_top -= 4;//top 递减,使得火焰在每个timer上升一下
}
if(g_top < 4)
{
g_top = 4;
}
}