“RUN” それは魔法の言葉

私とコンピュータの思い出を、だらだらと綴ります。最近はHSP3でのゲーム作り日記です

120.HSPでゲームを作ろう:技術研究 2Dスプライト機能 その2

標準スプライト機能のマニュアルも用意されている。
www.onionsoft.net
これと、スプライト機能を使用した、サンプルシューティングゲーム「マジカルタマホーキ」のソースが公開されたので、参考にする。
珠音ちゃんサンプルゲーム マジカルタマホーキ

まずは、hsp3dish.as をincludeする。
次に、スプライト機能を使うためのおまじない、es_ini命令を書く。

スプライトの定義には、画像ファイルがそのまま使える。
picload命令でバッファに画像を読み込んでおく。透過色を使いたいので、ここでも画像はPNG形式を使う。
そして、es_size命令で、1つのキャラが何ドット×ドットなのかを定義した後、es_pat命令で、バッファのどの座標から取り込むかパターン番号と、座標を指定する。
こんな感じ。

#include "hsp3dish.as"

es_ini ;スプライト初期化

buffer 3 ;バッファを作成
picload "meta.png" ;画像を読み込み
es_size 42,23 ;パターンサイズ
es_pat 0,0,0 ;パターンを読み込み

gsel 0 ;操作バッファを0に戻す

es_patはスプライト定義だけなので、表示するにはスプライトを登録する必要がある。
es_setで、スプライト番号、X,Y座標、es_patで設定したパターン番号を指定する。
そして、dishのおまじないである、redraw 0 ~ redraw 1で1サイクルを囲むのと、awaitを入れるんだけど、スプライトの描画はes_draw命令でまとめて行う。
スプライトを表示するプログラムはこんな感じになる。

#include "hsp3dish.as"

es_ini ;スプライト初期化

buffer 3 ;バッファを作成
picload "meta.png" ;画像を読み込み
es_size 42,23 ;パターンサイズ
es_pat 0,0,0 ;パターンを読み込み

gsel 0 ;操作バッファを0に戻す
es_set 0,320,200,0

*main
  redraw 0
  es_draw
  redraw 1
  await 1000/60
  goto *main