VB6でミニゲーム作成



VB6で作成したミニゲームのソースコードを紹介

ゲーム作成の土台作り

まず始めにVisualBasic6.0を立ち上げ、『標準EXE』を開きます。

標準EXE

プロジェクト名を『Game』、フォームのオブジェクト名を『frmMain』に変更します。

ゲームプロジェクト

次に、frmPic(画像格納用フォーム)と、mdlMain(メインプログラム)と、 API.bas(ゲーム専用モジュール)を追加します。

ゲームプロジェクト

frmMainのBoderStyleを固定(実線)にし、frmMainにピクチャボックスを追加します。

フォームにピクチャボックスを追加

ピクチャボックスのオブジェクト名を『picMain』にし、AutoRedrawを『True』にし、ScaleModeを『3-ピクセル』にします。
さらに、BorderStyleを『0-なし』にします。BackColorは適当に『黒』にして下さい。
これと同じピクチャボックスをfrmPicに貼り付け、そこへゲームで使用する自作の画像をpictureからロードします。

プロジェクトの『Game』を右クリックし、プロジェクトのプロパティから、スタートアップの設定をSub Mainにします。

スタートアップの設定

これにて大まかな環境設定は終わりです。

続きまして、ここからソースコードを入力していきます。

まずは『mdlMain』を開き、次のソースコードを入力してください。

Sub Main()

End Sub

先ほどスタートアップの設定により指定した『Sub Main()』からプログラムが始まります。
基本的にこの『Sub Main()』にプログラムを記述していけばゲームが完成します。

おおまかな処理の流れは次のとおりです。

Sub Main()
    
    Dim T1 As Long  '始まりの時間を取得用
    Dim T2 As Long  '終わりの時間を取得用
    
    'フォームを表示する
    frmMain.Show
    
    'メインループ
    Do
        '始まりの時間を取得する
        T1 = timeGetTime
        'ほかの処理も行う
        DoEvents
        '背景を描画
        BackDraw
        'キャラを描画
        CharaDraw
        '敵を描画
        EnemyDraw
        'キーの入出力
        GetKey
        'メイン画面を更新する
        frmMain.picMain.Refresh
        '終わりの時間を取得する
        T2 = timeGetTime
        
        '25ミリ秒以下で処理された場合
        If T2 - T1 < 25 Then
            'ウェイトをかける
            Wait 25 - (T2 - T1)
        End If
        
    Loop
    
    End
    
End Sub

Long型の変数でT1とT2を宣言していますが、これは処理が早すぎる場合ウェイトをかけるためです。
最近の高性能なパソコンだと、描画がめちゃめちゃ早く行われるので、それを防ぎます。
メインループ部がゲームの処理部分です。『BackDraw』、『CharaDraw』、『EnemyDraw』、『GetKey』は 自作ステートメントです。 自分好みの名前に変えていただいてかまいません。

このように、メインループ部に自作ステートメントを追加していくことにより、ゲームができていきます。

▲上へ移動▲


© copyright nori