我一直在尝试使用以下命令让双缓冲功能在 VB.NET GDI+ 中用于太空入侵者游戏
Public Sub New()
…
Me.SetStyle(ControlStyles.DoubleBuffer, True)
End Sub
但是因为我使用的是附加到一个类的单独的绘图例程,所以它似乎不起作用:
Class alien
…
Public Sub draw(ByVal palette)
Dim image As New Drawing.Bitmap("E:\alien.gif")
palette.DrawImage(image, loc.X, loc.Y, width, height)
End Sub
End class
我从主窗体上的计时器调用此例程:
Private Sub TmrAlien_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmrAlien.Tick
Dim palette As Drawing.Graphics = Me.CreateGraphics
dave.draw(palette)
Invalidate()
End sub
外星人绘制正确,但图像非常卡顿,双缓冲似乎不起作用。
有任何想法吗