1

I'm making space invaders, and I'm using arrays for the first time, I have yet to learn them in class so I'm kind of free-balling it.

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)                 Handles FireTimer.Tick
    Fire.Top = Fire.Top - 7
    For index = 0 To 26
         If Me.Fire.Bounds.IntersectsWith(pbxMyEnemies(index).Bounds) Then
            pbxMyEnemies(index).Visible = False
            pbxMyEnemies(index).Enabled = False
            pbxMyEnemies(index).Left = 732
            pbxMyEnemies(index).Top = 55
            FireTimer.Enabled = False
            Fire.Visible = False
            z = 0
        ElseIf Me.Fire.Bounds.IntersectsWith(stopper.Bounds) Then
            z = 0
        End If



    Next
    If pbxMyEnemies().Visible = False Then
        MessageBox.Show("gotem")
    End If

End Sub

Where 'If pbxMyEnemies().visible = false then Messagebox.Show("gottem") end if

is where I want it to check if all of the picture boxes in the array are visible false. Can I do that?

4

1 回答 1

0

更改您的代码如下

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FireTimer.Tick
  Dim Test As Boolean = True
  Fire.Top = Fire.Top - 7
  For index = 0 To 26
    If Me.Fire.Bounds.IntersectsWith(pbxMyEnemies(index).Bounds) Then
      pbxMyEnemies(index).Visible = False
      pbxMyEnemies(index).Enabled = False
      pbxMyEnemies(index).Left = 732
      pbxMyEnemies(index).Top = 55
      FireTimer.Enabled = False
      Fire.Visible = False
      z = 0
    ElseIf Me.Fire.Bounds.IntersectsWith(stopper.Bounds) Then
      z = 0
      Test = False
    End If
  Next
  If Test Then
    MessageBox.Show("gotem")
  End If
End Sub
于 2013-04-01T09:19:41.297 回答