[187] | 1 | #include "#name#.idx"
|
---|
| 2 |
|
---|
| 3 |
|
---|
| 4 | Dim ScreenX=640 As Long 'ディスプレイの幅 (ピクセル単位)
|
---|
| 5 | Dim ScreenY=480 As Long 'ディスプレイの高さ(ピクセル単位)
|
---|
| 6 |
|
---|
| 7 | ' TODO: この位置にグローバル変数を定義してください。
|
---|
| 8 |
|
---|
| 9 |
|
---|
| 10 | Function InitProc() As BOOL
|
---|
| 11 | 'DirectXを初期化
|
---|
| 12 | If dx_Init(hMainWnd,ScreenX,ScreenY,FALSE)=0 Then
|
---|
| 13 | InitProc=0
|
---|
| 14 | Exit Function
|
---|
| 15 | End If
|
---|
| 16 |
|
---|
| 17 | 'マウスカーソルを非表示にする
|
---|
| 18 | ShowCursor(FALSE)
|
---|
| 19 |
|
---|
| 20 | ' TODO: この位置にアプリケーションの初期化コードを記述してください。
|
---|
| 21 |
|
---|
| 22 | InitProc=1
|
---|
| 23 | End Function
|
---|
| 24 |
|
---|
| 25 | Sub QuitProc()
|
---|
| 26 | ' TODO: この位置にアプリケーションの終了処理を記述してください。
|
---|
| 27 |
|
---|
| 28 | 'DirectXの終了処理
|
---|
| 29 | dx_Quit()
|
---|
| 30 | End Sub
|
---|
| 31 |
|
---|
| 32 | Sub InputActionProc()
|
---|
| 33 | ' TODO: この位置に入力に関するコードを記述してください。
|
---|
| 34 | ' (キーボード、マウス、ジョイパッド、ジョイスティックなどによる入力)
|
---|
| 35 |
|
---|
| 36 | ' メモ - キャラクタの移動など、状況進行(アクション)を意味するコードを
|
---|
| 37 | ' 記述することもできます。
|
---|
| 38 |
|
---|
| 39 | End Sub
|
---|
| 40 |
|
---|
| 41 | Sub RenderProc()
|
---|
| 42 | ' TODO: この位置に描画に関するコードを記述してください。
|
---|
| 43 |
|
---|
| 44 | End Sub
|
---|
| 45 |
|
---|
| 46 |
|
---|
| 47 | '------------------------------------------------
|
---|
| 48 | ' 初期化処理
|
---|
| 49 | '------------------------------------------------
|
---|
| 50 |
|
---|
| 51 | If InitProc()=0 Then
|
---|
| 52 | MessageBox(0,"初期化に失敗しました。","Error",MB_OK or MB_ICONEXCLAMATION)
|
---|
| 53 | ExitProcess(0)
|
---|
| 54 | End If
|
---|
| 55 |
|
---|
| 56 |
|
---|
| 57 | '------------------------------------------------
|
---|
| 58 | ' メインループ
|
---|
| 59 | '------------------------------------------------
|
---|
| 60 | Dim msgMain As MSG, iResult As Long
|
---|
| 61 | Dim bDeviceLost As Long
|
---|
| 62 | Do
|
---|
| 63 | If PeekMessage(msgMain,0,0,0,PM_REMOVE) Then
|
---|
| 64 | '----------------------------------
|
---|
| 65 | ' メインウィンドウのメッセージ処理
|
---|
| 66 | '----------------------------------
|
---|
| 67 |
|
---|
| 68 | If msgMain.message=WM_QUIT Then Exit Do
|
---|
| 69 | TranslateMessage(msgMain)
|
---|
| 70 | DispatchMessage(msgMain)
|
---|
| 71 | Else
|
---|
| 72 | '---------------------------
|
---|
| 73 | ' DirectXによる入力及び描画
|
---|
| 74 | '---------------------------
|
---|
| 75 |
|
---|
| 76 | If bDeviceLost Then
|
---|
| 77 | 'デバイスが消失しているとき
|
---|
| 78 | If dx_RestoreDevice()=D3D_OK Then
|
---|
| 79 | bDeviceLost=FALSE
|
---|
| 80 | Else
|
---|
| 81 | Continue
|
---|
| 82 | End If
|
---|
| 83 | End If
|
---|
| 84 |
|
---|
| 85 | InputActionProc() '入力
|
---|
| 86 |
|
---|
| 87 | dx_BeginScene() '描画を開始
|
---|
| 88 | dx_Clear() '画面をクリア
|
---|
| 89 | RenderProc() 'レンダリング(描画)
|
---|
| 90 | dx_EndScene() '描画を終了
|
---|
| 91 |
|
---|
| 92 | '画面を更新
|
---|
| 93 | If Not(dx_Present()=D3D_OK) Then
|
---|
| 94 | 'デバイスの消失が確認されたとき
|
---|
| 95 | bDeviceLost=TRUE
|
---|
| 96 | End If
|
---|
| 97 | End If
|
---|
| 98 | Loop
|
---|
| 99 |
|
---|
| 100 |
|
---|
| 101 | '------------------------------------------------
|
---|
| 102 | ' 終了処理
|
---|
| 103 | '------------------------------------------------
|
---|
| 104 |
|
---|
| 105 | QuitProc()
|
---|
| 106 | ExitProcess(msgMain.wParam)
|
---|