HSPルーム

1-1.ゲーム作成の基礎

HSP3.0

はじめに

HSPでゲームを作ろう!
という講座です。入門講座レベルアップ講座を読んだことのある人なら、
きっと3日ほどでゲームが作れます。

さて、下手な前置き(前置きだったのか?)はこれくらいにして、
目指せ!ゲームプログラマー!!

シューティングゲームを作る

今回は、シューティングゲームを作ってみようと思います。
ゲーム作り方はかなり分かると思います。

メインループ

まず、ゲームを作る際に、メインループを作ってやります。
ここはrepeat命令などでとにかくクルクル回します。

しかし、重要な処理はここには書きません
たいてい、このメインループからサブルーチンへジャンプさせ、処理を行います。
メインループのサンプルは以下のものです。

メインループ
*main
	await 50 //必ずメインループではウェイトを入れる。
	goto *main

repeatかラベルか

メインループは、repeat命令でもラベルでも作ることができます。

repeat命令でのメインループ
	repeat
	await 50
	loop

ラベル機能でのメインループ
*main
	await 50
	goto *main

両方、よく使われる方法ですが、
ラベルでメインループを作ると、goto命令を使えるので、
私はラベルを使っています。

redrawを使う

画面のちらつきを抑えるために、redraw命令が使われます。
普通は、
1・redraw 0で仮想画面モードにする
2・redraw 1で実際の画面に描画する
というように使います。

redrawも使ってみる。
*main
	redraw 0
//ここに処理を書く
	redraw 1
	await 50
	goto *main

最終サンプル

今回のサンプルはこれです。

メインループ最終サンプル:sh1.hsp
//sh1.hsp
	screen 0,300,200
*main
	redraw 0
	gosub *draw  //;描画ルーチン
	redraw 1
	await 50
	goto *main

*draw
	pos 55,20
	mes "シューティングゲーム(仮)"
	return

ダウンロード:sh1.hsp