; ; HSP help manager用 HELPソースファイル ; (先頭が「;」の行はコメントとして処理されます) ; %type 拡張命令 %ver 3.4 %note hsp3dish.asをインクルードすること。 %date 2013/07/01 %author onitama %dll HSP3Dish %url http://hsp.tv/ %port Win %group 拡張入出力制御命令 %index setreq システムリクエスト設定 %prm type,val type(0) : 設定タイプ(SYSREQ_???) val(0) : 設定する値 %inst HSP3Dishランタイムに対して様々なシステム設定を行ないます。 設定タイプ名で指定できるのは以下のシンボルです。 ^p 設定タイプ名 読み書き(*) 内容 ------------------------------------------------------------------------ SYSREQ_CLSMODE RW 背景のクリアフラグ SYSREQ_CLSCOLOR RW 背景クリア色 SYSREQ_TIMER R ミリ秒単位のタイマー値 SYSREQ_PLATFORM R HSP3Dishを実行しているプラットフォーム (*)項目ごとに、読み(R)書き(W)の可否が異なります ^p ・SYSREQ_CLSMODE、SYSREQ_CLSCOLOR redraw 0による描画開始時に画面をクリアするかどうかを設定します。 SYSREQ_CLSMODEに1を設定した場合はクリア、0の場合はクリアを行ないません。 スクリプト内で画面のクリアを行なっている場合は、システム側で背景クリアをしない方が 処理速度の向上につながります。 SYSREQ_CLSCOLORでクリアする際の色コードを設定することができます。 色コードは、RGB24bit($rrggbb)を1つにした数値で設定します。 ・SYSREQ_TIMER ミリ秒単位のタイマー値を返します。 プラットフォームごとに返される値は異なりますが、1ミリ秒につき1ずつ値が加算されていきます。 ・SYSREQ_PLATFORM 以下のHSP3Dishプラットフォーム値を返します。 ^p マクロ名 値 内容 ------------------------------------------- PLATFORM_WINDOWS 0 Windows版 PLATFORM_IOS 1 iOS版 PLATFORM_ANDROID 2 android版 ^p %href getreq %index getreq システムリクエスト取得 %prm var,type var : 結果が代入される変数名 type : 設定タイプ(SYSREQ_???) %inst HSP3Dishランタイムが保持するシステム設定を取得して変数に代入します。 設定タイプ名で指定できる名称は、setreq命令と同様です。 %href setreq %index gfilter テクスチャ補間の設定 %prm type type : 設定タイプ(FILTER_???) %inst HSP3Dishランタイムが描画を行なう際の、テクスチャ補間(フィルタリング)の設定を行ないます。 設定タイプ名で指定できる名称は、以下の通りです。 ^p マクロ名 値 内容 ------------------------------------------- FILTER_NONE 0 補間なし(NEAREST) FILTER_LINEAR 1 直線補間(LINEAR) FILTER_LINEAR2 2 エリア補間(高度な補間処理) ^p フィルタリングの設定により、画像の拡大・縮小時のドット補間方法を 選ぶことができます。FILTER_NONEを指定することで、補間なし(ニアレスト) の状態になります。FILTER_LINEARは、直線(リニア)補間、FILTER_LINEAR2は より高度な補間方法(バイリニアなど)を選択します。 gfilter命令の設定は、以降のすべての描画命令に適用されます。 また、「redraw 0」による画面クリア時には、フィルタリング設定は FILTER_NONEにリセットされます。 %href gcopy grotate gsquare celput %index mtlist ポイントIDリスト取得 %prm var var : 結果が代入される変数名 %inst 現在タッチされている情報を持つポイントIDリストを取得します。 ポイントIDリストは、複数のポイントIDを返すもので、マルチタッチによる複数のポイントを含む情報になります。 mtlist命令が実行されると、その時点で押されている(触れている)すべてのポイントID(整数値)を、varで指定した変数に配列として代入します。 たとえば、ID0とID2、ID3の3つの情報があれば、var(0)に0、var(1)に2、var(2)に3という値が代入されることになります。 代入されたポイントIDの数は、システム変数statに返されます。 この命令で得られたポイントIDを使用して、mtinfo命令で詳細なタッチ情報を取得することができます。 マルチタッチの情報を取得するためには、それぞれのデバイスでマルチタッチの設定を有効にする必要があります。 また、Windows上では、Windows7以降のマルチタッチに対応したデバイスが必要になります。 %href mtinfo %index mtinfo タッチ情報取得 %prm var,id var : 結果が代入される変数名 id(0): ポイントID %inst 指定されたポイントIDに関連付けられたタッチ情報を取得します。 タッチ情報は、varで指定した変数に配列として代入されます。 ^p 要素値 内容 ------------------------------------------- 0 タッチ状態(1=ON/0=OFF) 1 タッチされたX座標 2 タッチされたY座標 3 タッチ識別用ID ^p つまり、var(1)にはタッチされたX座標が、var(0)にはタッチの状態(1ならば押されている)が代入されます。 varで指定された変数は必ず整数型の配列変数として初期化されます。 var(3)のタッチ識別用IDは、他のタッチと識別するための整数値です。この値は、デバイスごとに異なります。 %href mtlist %index devinfo デバイス情報文字列取得 %prm var,"name" var : 結果が代入される変数名 "name" : デバイス情報名 %inst 特定のOS、及びデバイスに依存した情報を取得します。 文字列"name"で示された情報を、varで指定した変数に代入します。(代入される情報は文字列となります。) 実行後に、正しく情報が取得された場合は、システム変数statが0以上になります。 情報が存在しないか、エラーが発生した場合はシステム変数statがマイナスの値となります。 %href devinfoi %index devinfoi デバイス情報値取得 %prm var,"name" var : 結果が代入される変数名 "name" : デバイス情報名 %inst 特定のOS、及びデバイスに依存した情報を取得します。 文字列"name"で示された情報を、varで指定した変数に代入します。(代入される情報は整数型の配列となります。) 実行後に、正しく情報が取得された場合は、システム変数statが0以上になります。 情報が存在しないか、エラーが発生した場合はシステム変数statがマイナスの値となります。 %href devinfo %index devprm デバイス制御用のパラメーター設定 %prm "name","value" "name" : パラメーター名を示す文字列 "value" : 設定する文字列 %inst devcontrol命令によりデバイス制御する際のパラメーター(付加情報)を設定します。 実行後に、正しく実行が行なわれた場合は、システム変数statが0以上の値になります。 パラメーターが存在しないか、エラーが発生した場合はシステム変数statがマイナスの値となります。 %href devcontrol %index devcontrol デバイス制御を実行する %prm "command",p1,p2,p3 "command" : コマンド名を示す文字列 p1(0) : 制御パラメーター1 p2(0) : 制御パラメーター2 p3(0) : 制御パラメーター3 %inst 特定のOS、及びデバイスに依存したデバイス制御を実行します。 実行後に、正しく実行が行なわれた場合は、システム変数statが0以上の値になります。 パラメーターが存在しないか、エラーが発生した場合はシステム変数statがマイナスの値となります。 %href devprm %index mmvol 音量の設定 %group 拡張マルチメディア制御命令 %prm p1,p2 p1=0〜(0) : メディアバッファID p2(0) : ボリューム(音量)値(-1000〜0) %inst mmplay命令によって再生されるメディアの音量を設定します。 ボリューム値は、0が最大の音量、-1000が無音状態となります。 このパラメーターはデフォルトで0(最大)が設定されています。 ※ボリューム値は、dmmvol命令と同様にマイナス値が大きいほど無音に近づきます。 ただし、dmmvol命令は-10000〜0までのデシベル値であるのに対して、mmvol命令は-1000〜0までのリニアな変化 (聴感上の音量)を行なう値であることに注意してください。 %href mmplay %index mmpan パンニングの設定 %group 拡張マルチメディア制御命令 %prm p1,p2 p1=0〜(0) : メディアバッファID p2(0) : パンニング値(-1000〜1000) %inst mmplay命令によって再生されるメディアのパンニング(ステレオの左右バランス)を設定します。 -1000が最も左の定位、1000が最も右の定位の値となります。(0が中央の定位となります) このパラメーターはデフォルトで0(中央)が設定されています。 ※Windows上でのmp3ファイルによる音楽再生時は反映されません ※dmmpan命令とは値の分解能が異なるので注意してください %href mmplay %index mmstat メディアの状態取得 %group 拡張マルチメディア制御命令 %prm p1,p2,p3 p1 : 状態が取得される変数 p2(0) : メディアバッファID p3(0) : 取得モード %inst mmplay命令によって再生されるメディアの状態を取得して、p1の変数に代入します。 p3で取得するモードを指定することができます。 取得モードの値は、以下の通りです。 ^p モード値 内容 ------------------------------------------------------ 0 設定フラグ値 1 ボリューム値 2 パンニング値 3 再生レート(0=オリジナル) 16 再生中フラグ(0=停止中/1=再生中) ^p %href dmmplay %index setcls 画面クリア設定 %group 拡張マルチメディア制御命令 %prm mode,color,tex mode(0) : 画面クリアのモード color(0) : 画面クリア色(24bitRGBコード) %inst redraw 0による画面初期化時に行なわれる画面クリアのための設定を行ないます。 mode値の設定により、画面クリアを行なうためのモードを設定します。 1を設定した場合はクリア、0の場合はクリアを行ないません。 スクリプト内で画面のクリアを行なっている場合は、システム側で背景クリアをしない方が処理速度の向上につながります。 ^p モード値 内容 ------------------------------------------------------ 0 画面クリアを行なわない 1 画面クリアを行なう ^p colorでクリアする際の色を設定することができます。色は、24bitRGBコード($rrggbb)の数値で設定します。 %href redraw %index celputm 複数のセルをまとめて描画 %group 拡張マルチメディア制御命令 %prm vxpos,vypos,vcelid,bufid,count vxpos : 表示X座標が格納された整数型配列変数名 vypos : 表示Y座標が格納された整数型配列変数名 vcelid : セルIDが格納された整数型配列変数名 bufid(0) : セルが格納されているバッファID count(1) : 配列変数から取り出す項目数 %inst 整数型の配列変数に代入された座標、セルIDをもとにcelputと同様の表示を配列要素ごとに実行します。 配列に保存された複数の項目について、一度に処理が行なわれるため効率化と高速化につながります。 countで配列変数から取り出す項目の数を指定します。配列変数からは、要素0から順番に値が取り出されます。 vxposにはX座標、vyposにはY座標、vcelidにはセルIDが代入されている必要があります。 セルIDがマイナス値の場合は、描画は行なわれません。 celputm命令の実行後、実際に表示されたセルの数がシステム変数statに代入されます。 %href celput