HSPでゲームプログラミング! - 2008年度サマースクール
【2009年1月28日 船橋豊富高校講義】
教材リンク
【初日】
- 講師自己紹介&参加者自己紹介
- 自作ゲーム体験(東京情報大学環境情報学科ソフトウェアコンテスト作品群)
- HSP紹介(書籍やホームページ)
・最新はHSP3.1
・HSPTV! (HSP公式ホームページ)
・amazon.jpでのHSP検索結果
- HSPダウンロード&インストール
・HSPのダウンロード
公式ホームページのダウンロードページの「Free Download HSP」ボタンをクリックして hsp31.exe をデスクトップなどにダウンロード。
・HSPのインストール
(1)ダウンロードした hsp31.exe をダブルクリックして実行。
(2)インストール先は,情報大のコンピュータの場合は Z:\hsp31ドライブを指定。自宅のパソコンなら C:\Program Files\hsp31 を指定。
(3)後は,「次へ」ボタンか「インストール」ボタンで進み,最後に「完了」ボタンでインストール完了。
- HSP基本編
・デスクトップにある「HSPスクリプトエディタ」をダブルクリックして起動。ここでプログラムを書いて,実行する。
・公式ホームページのプログラミングコーナーにある「HSP入門編」をクリック。基本的な機能を試す。
(picload, stop, cls, mes, フラグ(旗), goto, button, pos, color, exec, コメント,変数,変数への代入,計算,変数の中の値の表示,変数の値の更新,条件判断(比較とif))
・実行プログラムを作成する
「HSPスクリプトエディタ」の「HSP」メニューから「実行ファイル自動作成」を選択。.exe拡張子のついた実行ファイルが出来上がる。
・更に画像データを実行ファイルに埋め込みたい場合は,スクリプトの先頭に
#pack "画像ファイル名"
とする。
・繰り返し
repeat,loop
・サブルーチン
gosub,return
・スクリーンの大きさ調整
screen 0, 横幅, 縦幅
・ウインドウ上の部品の大きさの調整
objsize 横幅, 縦幅
・音データの読み込みと再生&停止
mmload "サウンドファイル名", メディアバッファID
mmplay メディアバッファID
mmstop
※メディアバッファIDは,読み込んだデータを識別する0以上の番号
- キャラクタを動かしてみよう
・時間待ち
wait 待ち時間(10ミリ秒単位)
・キー入力
stick 変数, 押しっぱなしでも検出されるキー値, ウインドウアクティブチェック
※指定された変数には,以下のキー値の合計が入る。
1 |
←キー |
2 |
↑キー |
4 |
→キー |
8 |
↓キー |
16 |
スペースキー |
32 |
Enterキー |
64 |
Ctrlキー |
128 |
ESCキー |
256 |
マウス左クリック |
512 |
マウス右クリック |
1024 |
TABキー |
※「押しっぱなしでも検出されるキー値」に,上表のキー値の合計値を指定すると,そのキーは押しっぱ
なしでも「押された」こととして検出される
※ウインドウアクティブチェック:1(アクティブなウインドウでしか入力をうけつけない),0(非アクティブなウインドウでも入力を受け付ける)
※例えば,↓キーが入力されたかをチェックするには,以下のようにする。
stick k, 0, 1
if k&8 : ↓キーが押されたときの処理
・乱数(でたらめな値)
rnd( 1〜32768の値 )
※0〜(指定した整数値-1)の間のどれかひとつが返される
randomize
※rndが出す乱数のパターンを変える
・仮想画面の用意
buffer ウインドウ番号, 横幅, 縦幅, 画面モード
※ウインドウ番号:0(目に見えるメインウインドウ), 1以上(目に見えない仮想画面)
※画面モード:1(256色モードウインドウ), 2(非表示ウインドウ), 4(サイズ固定ウインドウ), 8(ツールウインドウ), 16(深い縁付き)
・ウインドウ間の画像コピー
gmode 画面コピーモード, コピー範囲横幅, コピー範囲縦幅, 半透明率
※画面コピーモード:0(通常コピー・高速), 1(画像バッファ間コピー), 2(黒を透明色としてコピー), 3(半透明合成コピー), 4(黒を透明色としてコピー&半透明合成コピー), 5(色加算合成コピー), 6(色減算合成コピー), 7(αブレンドコピー)
※半透明率:0〜256
gcopy ウインドウ番号, コピー元の左上X座標, コピー元の左上Y座標, 横幅, 縦幅
・画面更新
redraw 描画モード, 再描画範囲の左上X座標, 再描画範囲の左上Y座標, 再描画範囲横幅, 再描画範囲縦幅
※描画モード:0(画面に反映しないようにする), 1(画面に反映するようにする)
・長方形範囲塗りつぶし
boxf 長方形範囲の左上X座標, 長方形範囲の左上Y座標, 長方形範囲右下X座標, 長方形範囲の右下Y座標
・サンプル画像
![]()
![]()
- 弾を撃ってみよう
【二日目】
- オリジナルキャラを作ろう
【素材集】
自作ゲームのために自由に使用できるBGM集(作成・大城正典)
管理人やす氏によるゲーム作成支援サイト「HP桃源郷」(効果音・BGM・グラフィックの素材リンクなどがあります)