1

とてもシンプルな fps ゲームを作ろうと思いました。すべてのグラフィックを持っていますが、エラーが 1 つだけあります。

エラーは、ボタンをクリックすることで敵をゲームにスポーンできることです。そのボタンを使用して、好きなだけ敵をゲームに出現させることができます。これを行うために、次のように書きました。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  Dim enemy As New PictureBox
  enemy.Image = My.Resources.enemy.png
  Me.Controls.Add(enemy)
End Sub

しかし、敵を撃つにはそれをクリックする必要があり、プログラムが開始されてボタンがクリックされるまで「敵」変数が実際にはフォーム上にないため、それを実現する方法がわかりません。

私はこれを試しましたが、成功しませんでした:

Private Sub Enemy_Click(sender As Object, e As EventArgs) Handles enemy.Click
4

1 に答える 1

1

イベント ハンドラーを自分で追加する必要があります。

Dim enemy As New PictureBox
enemy.Image = My.Resources.enemy.png
AddHandler enemy.Click, AddressOf Enemy_Click
Me.Controls.Add(enemy)

clicked メソッド側では、sender オブジェクトによってクリックされた PictureBox を取得します。

Private Sub Enemy_Click(sender As Object, e As EventArgs)
  Dim pb As PictureBox = sender
  // do stuff
End Sub
于 2013-10-30T15:13:55.310 に答える