请问怎样用VB6.0做出文字在屏幕上流动的效果啊?像千千静听的歌词秀那样谢谢!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问怎样用VB6.0做出文字在屏幕上流动的效果啊?像千千静听的歌词秀那样谢谢!相关的知识,希望对你有一定的参考价值。

请问怎样用VB6.0做出文字在屏幕上流动的效果啊?像千千静听的歌词秀那样谢谢!最好是没有窗体的那种,还可以前端显示。追加20分,谢谢!

Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

Private Sub Form_Load()
Me.AutoRedraw = True
hBitmap = CreateCompatibleBitmap(Me.hdc, 0, 0)
aa = SelectObject(Me.hdc, hBitmap)
DeleteObject aa
Me.Refresh
End Sub
这个可以让窗体透明而控件显示,注意窗体的Borderstyle=0
参考技术A 用两个api
一个透明窗体 一个最前显示
参考技术B 你可以看一看相关的API知识,有一个文本绘画API textout
你可以用这个API在透明窗体上一行一行在画文本(在消息WM_PAINT中画出就行)

unity urp 实现雨水在物体上流动的效果


如何实现原理还是很简单的,还是使用简单的uv偏移实现即可。
首先,我们需要一张雨滴流向的贴图,和法向贴图。

配套的法向贴图,让雨水的效果更加明显

在这里,我还加上了对贴图的旋转,ase里面节点叫rotator,直接把节点的代码拷贝出来的。然后为了保证密度,还加上的tillingoffset

float cos23 = cos(_RainRotate * PI);
float sin23 = sin(_RainRotate * PI);
float2 rotator = mul(UV - _RainAnchor, float2x2(cos23, -sin23, sin23, cos23)) + _RainAnchor;
rotator = rotator * _RainMask_ST.xy + _RainMask_ST.zw;
half rain = SAMPLE_TEXTURE2D(_RainMask, sampler_RainMask, rotator).r;

获取雨的代码就是这样的。
得出来的结果就是:

然后我们可以把法线加上,增加渐变过渡,这个我在这里就不加了。

它的路线有了,那么我们怎么让雨水流动起来呢。

这是一张渐变图。我使用time让其偏移起来

half2 rainMaskUV = rotator + _TimeParameters.x * _RainDir * _RainSpeed * 0.1;
half rainMask = SAMPLE_TEXTURE2D(_RainMask, sampler_RainMask, rainMaskUV).g;
rainMask = saturate(pow(rainMask, 8));

然后增强一下对比度,效果是这样的

它们就动了起来,然后我们把它们一合并,这就完成了,动起来了。

rainMask = saturate(rain - rainMask);

以上是关于请问怎样用VB6.0做出文字在屏幕上流动的效果啊?像千千静听的歌词秀那样谢谢!的主要内容,如果未能解决你的问题,请参考以下文章

unity urp 实现雨水在物体上流动的效果

下载了一个轮播效果的css文件,请问怎样搬到淘宝店铺做出轮播效果,谢谢!

如何使用css在svg中添加从下到上流动的颜色

能做出这种效果吗?标题栏或Textview中内容超过屏幕,滚动...

关于VB6.0的问题

JavaScript怎样做出一个画圆圈的效果啊,比如一张图片是一个小圆点,怎样让这个小圆点以20p