VB.NET も C# もライブラリ的な扱いは同じなので、
ライブラリ配布サイトよりダウンロードして、exe が作成されるディレクトリに入れ、
参照からDxLibDotNet を読み込んで使います
Form はありますが、使わずに ApplicationEvents.vb を使用します
Imports DxLibDLL
Namespace My
Partial Friend Class MyApplication
' ********************************************************
' スタートアップ
' ********************************************************
Private Sub MyApplication_Startup(ByVal sender As Object, _
ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) _
Handles Me.Startup
DX.ChangeWindowMode(DX.TRUE)
' 異常終了
If DX.DxLib_Init() = -1 Then
e.Cancel = True
Exit Sub
End If
Dim gm As Game = New Game(AddressOf ul)
gm.Start()
e.Cancel = True
End Sub
Private Function ul(ByVal gm As Game) As Boolean
Return True
End Function
End Class
End Namespace
Game クラスはメインループを含む描画の基本的な処理を受け持ちます。
ゲーム作成者は、クラスの内容を意識しなくて良いように、メソッドを作成し、
Game クラスにそのメソッドを呼び出させます。
Imports DxLibDLL
Public Class Game
Delegate Function UserLoop(ByVal gm As Game) As Boolean
Public funcUserLoop As UserLoop
Sub New(ByVal ul As UserLoop)
funcUserLoop = ul
End Sub
Public Sub Start()
' 描画先画面を裏画面にセット
DX.SetDrawScreen(DX.DX_SCREEN_BACK)
Do
' Windows Message 処理
If DX.ProcessMessage() <> 0 Then
Exit Do
End If
' ESC で強制終了
If DX.CheckHitKey(DX.KEY_INPUT_ESCAPE) = 1 Then
Exit Do
End If
' 画面を初期化する
DX.ClearDrawScreen()
' 外側の主処理を呼び出す
If Not Me.funcUserLoop(Me) Then
Exit Do
End If
' 裏画面の内容を表画面に反映させる
DX.ScreenFlip()
Loop
DX.DxLib_End()
End Sub
End Class