Public Class Form1
Public Structure Bullet
Public Shared x As Integer
Public Shared y As Integer
End Structure
Dim b As Bitmap
Dim g As Graphics
Dim BL As List(Of Bullet)
Dim AddTime As Integer
Dim MoveTime As Integer
Dim DrawTime As Integer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
b = New Bitmap(Me.ClientSize.Width, Me.ClientSize.Height)
g = Graphics.FromImage(b)
BL = New List(Of Bullet)
AddTime = 0
MoveTime = 0
DrawTime = 0
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Try
AddTime += 1
MoveTime += 1
DrawTime += 1
If AddTime > 100 Then
Dim bul As Bullet = New Bullet
bul.x = 100
bul.y = Me.ClientSize.Height - 10
BL.Add(bul)
AddTime = 0
End If
If MoveTime > 5 And BL.Count > 0 Then
For i = 0 To BL.Count - 1
If BL.Item(i).y < 5 Then
BL.RemoveAt(i)
Else
BL.Item(i).y -= 1
End If
Next
MoveTime = 0
End If
If DrawTime > 10 And BL.Count > 0 Then
g.Clear(Me.BackColor)
For i = 0 To BL.Count - 1
g.FillRectangle(Brushes.Blue, BL.Item(i).x, BL.Item(i).y, 5, 5)
Next
Me.CreateGraphics.DrawImage(b, 0, 0)
DrawTime = 0
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "错误")
End Try
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Timer1.Start()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Timer1.Stop()
End Sub
End Class
Public Structure Bullet
Public Shared x As Integer
Public Shared y As Integer
End Structure
Dim b As Bitmap
Dim g As Graphics
Dim BL As List(Of Bullet)
Dim AddTime As Integer
Dim MoveTime As Integer
Dim DrawTime As Integer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
b = New Bitmap(Me.ClientSize.Width, Me.ClientSize.Height)
g = Graphics.FromImage(b)
BL = New List(Of Bullet)
AddTime = 0
MoveTime = 0
DrawTime = 0
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Try
AddTime += 1
MoveTime += 1
DrawTime += 1
If AddTime > 100 Then
Dim bul As Bullet = New Bullet
bul.x = 100
bul.y = Me.ClientSize.Height - 10
BL.Add(bul)
AddTime = 0
End If
If MoveTime > 5 And BL.Count > 0 Then
For i = 0 To BL.Count - 1
If BL.Item(i).y < 5 Then
BL.RemoveAt(i)
Else
BL.Item(i).y -= 1
End If
Next
MoveTime = 0
End If
If DrawTime > 10 And BL.Count > 0 Then
g.Clear(Me.BackColor)
For i = 0 To BL.Count - 1
g.FillRectangle(Brushes.Blue, BL.Item(i).x, BL.Item(i).y, 5, 5)
Next
Me.CreateGraphics.DrawImage(b, 0, 0)
DrawTime = 0
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "错误")
End Try
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Timer1.Start()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Timer1.Stop()
End Sub
End Class