リファレンス 37 ドキュメント 6 サンプル 41
標準機能 346 arduino 12 Artlet2D 55 d3module 29 form_decode 1 hgimg3 152 hgimg4 166 hsedsdk 36 HSP3Dish 62 hsp3imp 4 hsp3util 17 hspcmp 21 hspcv 31 hspda 23 hspdb 8 hspdsc.dll 73 hspdsp.dll 140 hspext 59 hspinet 60 hspint64.dll 46 hspmath 41 hspmucom 17 hspprint 6 hspsmart.dll 45 hspsock 12 hsptv 2 hspusbio 6 mod_fontdlg 1 mod_joystick2 2 mod_menu 3 mod_picfont 2 mod_regexp 4 mod_rss 1 obaq 51 obj 4 SQLele 18 ZLibWrap 2

obaq

Version 3.4 Date 2014/04/24 Author onitama

拡張入出力制御命令

qaddmodel
自由設定オブジェクト追加
OBAQに自由設定された形状のオブジェクトを追加します。 一般的な多角形は、qaddpoly命令によって生成することができます。 qaddmodel命令では、頂点を個別に指定することでより自由な形を登録することができます。
qaddpoly
多角形オブジェクト追加
OBAQに多角形オブジェクトを追加します。 shapeで指定された頂点を持つオブジェクトが生成されます。 (shapeの頂点数は3以上でなければなりません。) (x,y)で配置の座標を指定します。(OBAQの内部座標を設定します。) rで配置角度(+方向が時計周りになります)を指定します。
qblast
任意の場所から放射状に力を与える
すべてのオブジェクトに対して任意の場所から放射状に力を与えます。 (xw, yw)を中心として、距離に反比例する力が加えられます。 powerは距離1.0の際に加わる力の大きさになります。 nearより近い位置は、反比例せずnearと同じ力の大きさとなります。
qborder
外壁を設定
標準的に設定されている外壁のサイズを再設定します。 画面の中央を(0,0)として、左上と右下の座標(OBAQの内部座標)を指定してください。 外壁は、何も壁のない状態で画面内にオブジェクトを配置した際に、 画面外まで落下するのを防ぐためのものです。
qcnvaxis
X,Y座標値を変換
X,Y座標値を指定された方法に従って変換します。 変換元の座標を(x,y)で指定すると、var_x,var_yにそれぞれ変換済みのX,Y座標値が代入されます。 optで指定する変換モードは、以下の値を選ぶことができます。
qcollision
コリジョン取得開始
オブジェクト同士のコリジョン(衝突)に関する情報の取得を開始します。 最初に、qcollision命令でオブジェクトを指定した後、qgetcol命令で結果を受け取る必要があります。 targetで、コリジョンを取得する対象のオブジェクトIDします。
qdamper
吸振などのパラメーターを設定
指定したオブジェクトの吸振、惰性、重力係数などのパラメーターを設定します。 damper(吸振)は、接触した際のゆれを抑える力を示しています。 0.0から1.0までの値を設定するようにしてください。
qdel
オブジェクト削除
指定されたオブジェクトを削除します。 実行に失敗した場合は、システム変数statに0以外の値が代入されます。
qdraw
OBAQ描画処理
OBAQによるオブジェクトの描画処理を行ないます。 それぞれのオブジェクトに設定されたマテリアル情報をもとに、適切な表示を行ないます。 modeの設定により、デバッグ表示のON/OFFを設定することができます。
qexec
OBAQフレーム処理
フレームごとの物理演算を実行します。 これにより、すべてのオブジェクト座標が更新されます。 メインループでは、必ずqexec命令によりオブジェクトの移動更新を行なう必要があります。 また、内部の描画を利用する場合は、qdraw命令による画面の更新も必要になります。
qfind
オブジェクト検索
登録されているオブジェクトを任意の条件で検索します。 最初に、qfind命令で条件を指定した後、qnext命令で結果を受け取る必要があります。 groupで検索するコリジョングループ値を指定します。 groupの指定を省略するか-1の場合は、すべてのグループが対象となります。
qgetaxis
内部座標を取得
OBAQのオブジェクトが持つ内部座標及び表示パラメーターを変数に読み出します。 var_x,var_yは整数型として自動的に設定されます。 typeで指定できる内容は以下の通りです。
qgetcol
コリジョン取得
qcollision命令による検索の結果を取得します。 最初に、qcollision命令で条件を指定した後、qgetcol命令で結果を受け取る必要があります。 さらに必要に応じて、qgetcol2命令、qgetcol3命令で追加の情報を取得することが可能です。
qgetcol2
コリジョン詳細情報取得
qcollision命令による検索の結果を取得します。 必ず、qgetcol命令で結果を受け取った後で、情報を取得するようにしてください。 var_depthで指定された変数に、衝突の深さ(接触面にめりこんだ距離)が代入されます。(変数は自動的に実数型となります。
qgetcol3
コリジョン詳細情報取得2
qcollision命令による検索の結果を取得します。 必ず、qgetcol命令で結果を受け取った後で、情報を取得するようにしてください。 var_boundで指定された変数に、接触面と垂直(はねる)方向の速度(プラス側がめりこみ方向)が代入されます。(変数は自動的に実数型となります。
qgetdamper
吸振などのパラメーターを取得
指定したオブジェクトのパラメーターを変数に取得します。 var_damperで指定された変数に、吸振パラメーター値が代入されます。(変数は自動的に実数型となります。) var_frictionで指定された変数に、摩擦抵抗値が代入されます。(変数は自動的に実数型となります。
qgetgroup
グループパラメーターを取得
指定したオブジェクトのパラメーターを変数に取得します。 var_mygroupで指定された変数に、自分が属するコリジョングループ値が代入されます。(変数は自動的に整数型となります。) var_exgroupで指定された変数に、衝突を除外するグループ値が代入されます。
qgetinertia
惰性などのパラメーターを取得
指定したオブジェクトのパラメーターを変数に取得します。 var_inertiaで指定された変数に、惰性パラメーター値が代入されます。(変数は自動的に実数型となります。) var_gravityで指定された変数に、オブジェクトの重力値が代入されます。(変数は自動的に実数型となります。
qgetmat
マテリアルパラメーターを取得
指定したオブジェクトのパラメーターを変数に取得します。 var_typeで指定された変数に、マテリアルタイプ値が代入されます。(変数は自動的に整数型となります。) var_idで指定された変数に、参照id値が代入されます。(変数は自動的に整数型となります。
qgetmat2
マテリアル詳細パラメーターを取得
指定したオブジェクトのパラメーターを変数に取得します。 var_offsetxで指定された変数に、X方向表示オフセット値が代入されます。(変数は自動的に整数型となります。) 指定したオブジェクトのパラメーターを変数に取得します。
qgetmat3
マテリアル表示パラメーターを取得
指定したオブジェクトのパラメーターを変数に取得します。 var_gmodeで指定された変数に、コピーモード値が代入されます。(変数は自動的に整数型となります。) var_rateで指定された変数に、半透明レート値が代入されます。(変数は自動的に整数型となります。
qgetpos
位置、角度パラメーターを取得
指定したオブジェクトのパラメーターを変数に取得します。 var_xで指定された変数に、X座標設定値が代入されます。(変数は自動的に実数型となります。) var_yで指定された変数に、Y座標設定値が代入されます。(変数は自動的に実数型となります。
qgetptr
システムポインタ値取得
OBAQのシステムポインタ値を取得します。 このシステムポインタ値は、外部のアプリケーションやプラグイン等からOBAQの内部データにアクセスするために使用されます。 通常の使用では、システムポインタ値は必要ありません。 optionパラメーターでオプション値を設定することができます。
qgetreq
システムリクエスト取得
OBAQのシステム設定値を取得します。 varで指定された変数に内容を読み出します。 varの変数は、自動的に実数型に設定されます。 reqid値で指定できるのは以下のシンボルです。
qgetspeed
速度パラメーターを取得
指定したオブジェクトのパラメーターを変数に取得します。 var_pxで指定された変数に、X方向速度値が代入されます。(変数は自動的に実数型となります。) var_pyで指定された変数に、Y方向速度値が代入されます。(変数は自動的に実数型となります。
qgetstat
statパラメーターを取得
指定したオブジェクトのパラメーターを変数に取得します。 var_statで指定された変数に、statパラメーター値が代入されます。(変数は自動的に整数型となります。) var_sleepcountで指定された変数に、スリープカウント値が代入されます。(変数は自動的に整数型となります。
qgettype
typeパラメーターを取得
指定したオブジェクトのパラメーターを変数に取得します。 var_typeで指定された変数に、typeパラメーター値が代入されます。(変数は自動的に整数型となります。) 実行に失敗した場合は、システム変数statに0以外の値が代入されます。
qgetuser
ユーザー定義データを取得
指定したオブジェクトのパラメーターを変数に取得します。 var_user1で指定された変数に、ユーザー定義データ1の値が代入されます。(変数は自動的に整数型となります。) var_user2で指定された変数に、ユーザー定義データ2の値が代入されます。(変数は自動的に整数型となります。
qgetuser2
ユーザー定義データを取得2
指定したオブジェクトのパラメーターを変数に取得します。 var_user4で指定された変数に、ユーザー定義データ4の値が代入されます。(変数は自動的に実数型となります。) var_user5で指定された変数に、ユーザー定義データ5の値が代入されます。(変数は自動的に実数型となります。
qgetversion
バージョン情報を取得
OBAQのバージョン情報を取得します。 varで指定された変数に文字列としてバージョン情報が代入されます。
qgetweight
重さなどのパラメーターを取得
指定したオブジェクトのパラメーターを変数に取得します。 var_weightで指定された変数に、重さの値が代入されます。(変数は自動的に実数型となります。) var_momentで指定された変数に、モーメント値が代入されます。(変数は自動的に実数型となります。
qgravity
重力を設定
空間の重力を設定します。 初期値は、(0,0.005)が設定されています。
qgroup
グループパラメーターを設定
指定したオブジェクトのグループパラメーターを設定します。 グループパラメーターは、衝突する相手オブジェクトを特定する場合などの識別に使用されます。
qinertia
惰性などのパラメーターを設定
指定したオブジェクトの惰性、重力係数などのパラメーターを設定します。 inertia(惰性)は、0.0に近づくほど抵抗が発生してねっとりした動きに なります。0.0から1.0までの値を設定するようにしてください。
qinner
座標がオブジェクト内にあるかを取得
(x,y)で指定された座標がオブジェクト形状の内側にあるかを調べます。 numで調べたいオブジェクトのIDを指定します。 numがマイナス値か、または省略された場合は、すべての有効なオブジェクトに渡って 座標が内側にあるかどうかをチェックします。
qmat
マテリアルパラメーターを設定
指定したオブジェクトのマテリアルパラメーターを設定します。 マテリアルパラメーターは、qdraw命令による描画時に反映されます。 マテリアルタイプ値により、表示方法を選択することができます。
qmat2
マテリアル詳細パラメーターを設定
指定したオブジェクトのマテリアル詳細パラメーターを設定します。 マテリアル詳細パラメーターは、qdraw命令による描画時に反映されます。 実行に失敗した場合は、システム変数statに0以外の値が代入されます。
qmat3
マテリアル表示パラメーターを設定
指定したオブジェクトのマテリアル表示パラメーターを設定します。 マテリアル表示パラメーターは、qdraw命令による描画時に反映されます。 gmodeは、スプライトを描画する際のコピーモードを指定します。 これは、HSPのgmode命令で指定されるモード値と同じです。
qnext
オブジェクト検索結果取得
qfind命令による検索の結果を取得します。 最初に、qfind命令で条件を指定した後、qnext命令で結果を受け取る必要があります。 varで指定された変数にオブジェクトID値が代入されます。(変数は自動的に整数型となります。
qpos
位置、角度パラメーターを設定
指定したオブジェクトの位置、角度パラメーターを設定します。 (x,y)でオブジェクトの基準となる位置(中心座標)を指定します。 angleでオブジェクト回転角度(+方向が時計周り)を指定します。単位はラジアンとなります。
qpush
任意の場所に力を与える
指定したオブジェクトに対して、(xw,yw)の位置から、(ax,ay)の強さで力を与えます。 与えられた力に応じて、オブジェクトの姿勢や速度が変化します。 swで、設定方法を指定することができます。
qreset
OBAQ初期化
OBAQが持つ、すべての情報が初期化されます。 qreset命令により初期化を行なうと、画面全体を囲む壁(枠)が自動的に設定されます。 壁のサイズや位置を変更したい場合は、qborder命令により再設定を行なってください。
qsetreq
システムリクエスト設定
OBAQに対して様々なシステム設定を行ないます。 reqid値で指定できるのは以下のシンボルです。
qspeed
速度パラメーターを設定
指定したオブジェクトの速度パラメーターを設定します。 (px,py)でオブジェクトのX,Y方向に対する移動速度を指定します。 prで回転に対する速度を指定します。 optionで、設定方法を指定することができます。
qstat
statパラメーターを設定
指定したオブジェクトのstatパラメーター、及びスリープカウント値を設定します。 statパラメーターには、以下の内容を指定することができます。
qterm
OBAQ終了処理
OBAQが持つ、すべての情報を破棄します。 プログラム終了時などに内部で呼び出されます。 通常は呼び出す必要はありません。
qtype
typeパラメーターを設定
指定したオブジェクトのtypeパラメーターを設定します。 typeパラメーターには、以下の内容を指定することができます。
quser
ユーザー定義データを設定
指定したオブジェクトのユーザー定義データを設定します。 ユーザー定義データは、オブジェクトごとに保存可能な値で、何に使用するかはユーザーが自由に決めることができます。 ユーザー定義データ1~3は、整数型の値を格納することができます。
quser2
ユーザー定義データを設定2
指定したオブジェクトのユーザー定義データを設定します。 ユーザー定義データは、オブジェクトごとに保存可能な値で、何に使用するかはユーザーが自由に決めることができます。 ユーザー定義データ4~6は、実数型の値を格納することができます。
qview
ビュー設定
qdraw命令により描画される際の表示設定を行ないます。 zoomx,zoomyにより表示倍率(OBAQの内部座標を画面に反映させる際の倍率)を設定します。 ofsx,ofsyにより、表示位置のオフセットを設定することができます。
qweight
重さなどのパラメーターを設定
指定したオブジェクトの重さ、モーメント、摩擦などのパラメーターを設定します。 weight(重さ)は、半径rの円に標準的な比重の場合、 (r ^ 2) / 32.0 くらいを目安に設定してください。 moment(モーメント)は、回転のしやすさに関わるパラメーターだと考えて下さい。