HSPでゲームプログラミング! - 2008年度サマースクール

【2009年1月28日 船橋豊富高校講義】
 教材リンク
【初日】

  1. 講師自己紹介&参加者自己紹介
  2. 自作ゲーム体験(東京情報大学環境情報学科ソフトウェアコンテスト作品群)
  3. HSP紹介(書籍やホームページ)
    ・最新はHSP3.1
    HSPTV! (HSP公式ホームページ)
    amazon.jpでのHSP検索結果
  4. HSPダウンロード&インストール
    ・HSPのダウンロード
      公式ホームページのダウンロードページの「Free Download HSP」ボタンをクリックして hsp31.exe をデスクトップなどにダウンロード。
    ・HSPのインストール
      (1)ダウンロードした hsp31.exe をダブルクリックして実行。
      (2)インストール先は,情報大のコンピュータの場合は Z:\hsp31ドライブを指定。自宅のパソコンなら C:\Program Files\hsp31 を指定。
      (3)後は,「次へ」ボタンか「インストール」ボタンで進み,最後に「完了」ボタンでインストール完了。
  5. 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以上の番号
  6. キャラクタを動かしてみよう
    ・時間待ち
      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座標
    ・サンプル画像
      
      
      
  7. 弾を撃ってみよう

【二日目】

  1. オリジナルキャラを作ろう

【素材集】

自作ゲームのために自由に使用できるBGM集(作成・大城正典)
管理人やす氏によるゲーム作成支援サイト「HP桃源郷」(効果音・BGM・グラフィックの素材リンクなどがあります)