Visual Basic .NET - 平滑缓动效果

时间:2013-12-18 10:14:31

标签: .net winforms visual-studio-2010 animation equation

我的目标是让表单在打开时执行缓动动画。我希望我的Windows Forms Application从屏幕的右下角滑入,并使用平滑的缓出动画停在任务栏的顶部。我更喜欢Robert Penner's equations的指数缓和公式。

我尝试将一些these公式移植到我的.Net应用程序中,但到目前为止还没有成功。我的宽松要么做任何事情(保持不变),停止在远离我选择的完全随机数字,或继续越来越快地进入无限。

这是我到目前为止的代码:

Public Class Form1

Dim t As Double = 1
Dim b As Double = 0
Dim c As Double = 0
Dim d As Double = 1000

Dim y_pos As Double = 0

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Timer1.Interval = 1
    Timer1.Enabled = True
End Sub

Public Sub easing_loop()

    t = t / (d / 2)
    If t < 1 Then
        t = t + 1
        y_pos = c / 2 * Math.Pow(2, 10 * (t - 1)) + b
    Else
        t = t - 1
        y_pos = c / 2 * (-Math.Pow(2, -10 * t) + 2) + b
    End If


End Sub

Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
    easing_loop()
    Label1.Text = y_pos
End Sub
End Class

在这段代码中,什么都没发生。我的y_pos变量冻结为0。

y_pos是我将用于向程序提供它应该处于的Y坐标的变量。我将处理代码以实际将表单放在应该稍后的位置。现在:我使用一个变量,只是将其打印到标签上以便进行调试。

0 个答案:

没有答案