実行ファイル作成 『HSP3』


HSP3をはじめてから3ヶ月、なんとか簡単な「ブロック崩し」まで作れるようになりました。せっかく作っても拡張子が「hsp」のままだと、実行する人の環境にHSP開発環境がなければなりません。windowsなら誰でも簡単にみてもらえるように実行ファイル(exe)にしたいと思います。

●サンプル画像
サンプル画像

 
1.
2.
3.
4.
【例1】
buffer 1
picload "test.bmp"
screen 0,200,200
pos 50,50:gcopy 1,0,0,50,50
  【コメント】
;バッファ領域指定
;画像読み込む
;windowサイズ
;画像表示

画像「test.bmp」を表示するだけのプログラムです。これを「HSPスクリプトエディタ」を使って実行ファイルにします。例1のソースを「test.hsp」で「test.bmp」画像と同じフォルダ内に保存したものとして話を進めます。

hsp26

「HSP」→「実行ファイル自動作成」をクリックします。成功すれば、「実行ファイルを作成しました。」のダイアログメッセージがでてきます。「hsptmp.exe」という名前のファイルが「test.hsp」と同じフォルダ内にできていると思います。「hsptmp.exe」をクリックすると例1のプログラムが実行されます。別のファイル名で保存したい場合はプログラムで指定します。

 
1.
2.
3.
4.
5.
【例2】
#packopt name "test"
buffer 1
picload "test.bmp"
screen 0,200,200
pos 50,50:gcopy 1,0,0,50,50
  【コメント】
;実行ファイル名指定
;バッファ領域指定
;画像読み込む
;windowサイズ
;画像表示

 「#packopt name "test"」を追加しました。頭に「#」がついている命令はプリプロセッサ命令といい、HSPの設定を変更します。「#packopt name」は作成する実行ファイル名を指定します。「例2」で「実行ファイル自動作成」をすると「test.exe」ができます。

hsp27

作成した実行ファイルだけを別のフォルダに移して実行します。「#Error13 内部エラーが発生しました」とエラーメッセージが表示されました。これはプログラムが、「test.bmp画像は実行ファイルと同じフォルダ内にある」ことを前提に作られているので画像切れが起こってエラーになってます。

 
1.
2.
3.
4.
5.
6.
【例3】
#packopt name "test"
#pack "test.bmp"

buffer 1
picload "test.bmp"
screen 0,200,200
pos 50,50:gcopy 1,0,0,50,50
  【コメント】
;実行ファイル名指定
;画像を含める
;バッファ領域指定
;画像読み込む
;windowサイズ
;画像表示

「#pack "test.bmp"」を追加しました。「#pack」は指定したファイルも実行ファイル内に埋め込む処理を行います。複数ファイルを1つにまとめてしまう為、画像ファイルなどのデータファイルを特に気に必要がなくなります。ただし、埋め込んでしまっているため、データを直接変更してアレンジや修正ができなくなります。「例3」で実行ファイルを作成し、そのファイルを別フォルダで実行してもエラーになりません。
 
 


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です