SetDataToMask

マスクのデータをマスクデータ領域に転送する

SetDataToMask Width, Height, MaskData, MaskHandle

int Width ,Heiht : それぞれマスクデータの幅と高さ
void *MaskData : マスクのデータがあるアドレス
int MaskHandle :  マスクのデータを転送する先となるマスクの
ハンドル(識別番号)

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

解説

LoadMask , LoadDivMask , MakeMask 関数で構築したマスクの
データを指定のデータに置き換えます。

主な用途としてはマスクデータを画像ファイルから読みこむの
ではなく動的に生成して使用したい場合などが上げられます。

因みにWidth , Height が示すサイズは転送先となるマスクと
同サイズでなければエラーとなります。わざわざ引数として取る
のはプログラマー側の確認を取るという意味があります。

後このようなマスクのデータを直接マスク画面に転送する
DrawMaskToDirectData 関数がありますが、これは同じデータで
複数回描画する場合には SetDataToMask 関数で通常のマスクデー
タに転送してから DrawMask 等で描画したほうが速度面で有利と
なりますので注意してください。速度面での違いが起こるのは
DrawMaskToDirectData 関数ですと描画毎にデータの変換をする
必要があるからです。

データ形式

マスクのデータ形式としては 1ドット = 1 バイト、unsigned
char 型の変数一つで1ドットを表します。そしてその値が0の
場合は黒に、255(0xff)の場合は白と解釈されます。つまり幅32
高さ16のマスクデータ領域を用意し、マスクデータ上のX軸上15
Y軸上10のドットを白にしたいときは次のようになります。

unsigned char MaskData[16][32] ;

MaskData[10][15] = 255 ;

普段X,Yを指定するときとはXとYの位置関係が逆になるので
注意してください。

戻り値:
  0:成功

※ ポインタ型 (IntPtr) のパラメータがあります。
64bit環境では int64 型の値を渡してください。

情報

プラグイン / モジュールDxLibW
バージョン3.24f
作成日2026/04/12
著作者DxLib: Takumi Yamada / HSP binding: IronHSP Project
URLhttps://dxlib.xsrv.jp/
備考hspdxlib.as をインクルードして使用
タイプDxLib ゲームライブラリ
グループDxLib その他
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\hspdxlib.hs