1

私はスペースインベーダーを作っていて、初めて配列を使っています。クラスでまだ学んでいないので、自由に遊んでいます。

    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

配列内のすべての画像ボックスが表示されているかどうかをチェックしたいところですfalse。それをしてもいいですか?

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 に答える