特殊なメモリを変数に割り当てる
mref p1,p2
p1=変数名 : 割り当てられる変数名 p2=0~(0) : リソースID (割り当てるメモリ内容)
p1で指定された変数に、p2で指定したメモリ内容を割り当てます。 値 : 対応するリソース -------------------------------------------------- 0~ 7 : ローカルパラメータ#1~8(数値) 64 : システム変数stat 65 : システム変数refstr 66 : ウィンドウ内画像データ(VRAM) 67 : 現在のウィンドウ情報(BMSCR構造体) 68 : HSPのシステム情報(HSPCTX構造体) 69 : パレット情報 96~ : ウィンドウID0~の情報(BMSCR構造体) リソースID64,65のシステム変数は、たとえば「mref a,64」とした場合、変数aがシステム変数 statと同等になり、値を代入することができるようになります。これにより、ユーザー定義命令内の計算結果などをシステム変数に反映して、呼び出し元に返すことができます。 リソース66のウインドウ内画像データ(VRAMデータ)は、表示されている画像を内容とする配列変数になります。 これにより、 poke,peek命令などで画像データに直接アクセスが可能になります。 リソース67以降も同様に HSPの内部データに直接アクセスできるようにするものですが、通常は使う必要はありません。 DLLへ渡すためのパラメータ準備のためなど、ごく限られた用途のために用意されているもので、ほとんどの人は使うことはないはずです。 ローカルパラメータは、ユーザー定義命令(#deffunc)で新規に追加された命令のパラメータ内容を取得するためのものです。 パラメータのタイプ(数値、変数、文字列)に従って取得することが可能です。 ローカルパラメータ取得は、HSP2.xまでのパラメーター取得方法との互換のために用意されています。(一部のリソースタイプには互換性がありません。) HSP3.0以降では、ユーザー定義命令(#deffunc)のエイリアス機能を使用することを推奨しています。
バージョン | 3.4 |
作成日 | 2009/08/01 |
著作者 | onitama |
URL | http://hsp.tv/ |
備考 | ver3.4標準命令 |
タイプ | 内蔵命令 |
グループ | 特殊代入命令 |
対応環境 |
|
移植のヒント | HSPLet時、stat/refstr のみ使用可能です。
関数の引数には使用できませんので、3.0 形式の受け取り方をしてください。 |
hs ファイル | hsphelp\i_mem.hs |