es_spropt

スプライト描画オプション設定

es_spropt p1,p2

p1(0)=描画時オフセットスケーリング設定
p2(0)=描画時クリッピング設定

(プラグイン / モジュール : HSP3Dish)

解説

スプライト描画時のオプションを設定します。
p1パラメーターで、スプライト描画時のオフセットスケーリングに関する設定を行います。
標準スプライトでは、es_sizeex命令でキャラクタを登録する際に、スプライトを表示する座標の基点を変更するための「表示オフセットX,Y」というパラメーターを登録することができます。
たとえば、128×128ドットサイズのキャラクタを登録する場合、通常は指定された座標を左上としてキャラクタが表示されますが、表示オフセットとして(-64,-64)を設定することで、XとYそれぞれを64マイナス方向にずらして表示されるようになります。つまり、キャラクタの中心位置を基点として表示させることができるわけです。
この機能を使うことで、回転やスケーリング(拡大縮小)の中心位置を変更することができます。
描画時のオフセットスケーリング設定は、この表示オフセットのサイズ自体をスケーリングによって変更するかどうかを決めるものです。

p1パラメーターが0の場合は、スプライトの表示倍率(es_setrot命令などで設定される)に応じて表示オフセットもスケーリングされます。これが、デフォルトの設定になります。
p1パラメーターが1の場合は、スプライトの表示倍率は表示オフセットに影響を与えません。常に、決められた表示オフセットにより描画が行われます。
この設定は、任意のタイミングで使い分けて使用することが可能です。

描画時クリッピング設定は、スプライト描画時に内部で行われるクリッピング処理を行うかどうかを決めるものです。
p2パラメーターが0の場合は、スプライト描画時に画面外の座標が指定された場合に描画処理をキャンセルします。これにより、余計な描画コストがかかりません。これが、デフォルトの設定になります。
p2パラメーターが1の場合は、画面外の座標が指定された場合であっても描画処理を行います。これにより、viewcalc命令などで本来描画される座標とは異なる位置が指定されている場合でも、描画処理を実行することが可能です。
通常は、描画時クリッピング設定はデフォルトの状態で問題ありませんが、特殊な状況で設定するために用意されています。

es_ini命令で初期化された時点で、スケーリング設定、描画時のクリッピング設定ともに初期化され、0が設定された状態になります。

関連項目

es_iniシステムの初期化(HSP3Dish)
es_setrotスプライト回転角度・表示倍率設定(HSP3Dish)
es_sizeexキャラクタサイズ詳細指定(HSP3Dish)
es_drawスプライト描画(HSP3Dish)
es_putキャラクタ画面表示(HSP3Dish)

サンプル逆引き (3)

spr3d_1.hsp
spr3d_2.hsp
spr3d_3.hsp

情報

プラグイン / モジュールHSP3Dish
バージョン3.7
作成日2025/02/04
著作者onitama
URLhttps://hsp.tv/
備考hsp3dish.asをインクルードすること。
タイプ拡張命令
グループ拡張画面制御命令
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\sprite.hs