アクション
概要
カーソルキーでキャラクターを操作し、↑キーでジャンプ。Zキーで攻撃です。
少し渋い蛇が出現しますので、攻撃して倒してください。
ステージ1しか作っていませんが、マップエディタが付属していますので、自由にステージを作成したり改変することができます。
ソースファイルの「MapEdit」フォルダ内に、マップエディタのソースがありますので、ステージを自由に作ってみて下さい。
マップエディタで作成したステージは、アクションのソースと同じフォルダ内に置いてください。
ソースファイル
まずはソースファイルをダウンロードして下さい。
プロジェクトファイル(stg.vbp)を開くと、4つのファイルがあります。
- API(Api.bas)
- ゲーム専用APIモジュール
- frmMain(frmMain.frm)
- メイン画面専用フォーム
- frmPic(frmPic.frm)
- ゲーム画像専用フォーム
- mdlMain(mdlMain.bas)
- メインプログラム専用モジュール
API(Api.bas)については、ゲーム専用モジュールをご参照下さい。
frmMainがゲームのメイン画面になります。
画像はfrmPicにあります。
mdlMainが、ゲームのメインプログラムになります。
メインプログラム
まず初めに実行されるのがSub Main()です。
ここからプログラムがスタートし、Do〜Loop間でゲームの処理を行っています。
それぞれのプロシージャを簡単にご説明します。
- Sub Main()
- ここから処理が始まる
- Sub MapLoad(Mapfile As String)
- マップをロードする
- Sub SnakeDraw()
- 敵となる蛇の描画
- Sub CharaDraw()
- キャラ(主人公)の描画
- Sub GetKey()
- キーの入力を受け付ける
- Sub SkyDraw()
- 空を全マップに描画
- Sub BackDraw()
- ロードしたマップをメインへ描画
まずファイルからマップデータを読み取り、frmMainにあるpicSubへすべて描画します。
ブロックなど、キャラが通れないものはpicSubColorのブロック位置を黒く塗りつぶし、
GetPixelで座標を読み取り、白なら空中、黒ならブロックのように判別します。
あとはpicMainへpicSubの画像を大きさ分だけ転送し、キー入力によってスクロールしています。