OBAQ Plusモジュール
目次
ダウンロード
OBAQ Plusモジュール Ver.1.00 (2025/11/15)
ダウンロード(19.0 KB)
HSP3のOBAQモジュールに機能追加するモジュールです。 OBAQオブジェクトの頂点を取得したり、ビューの操作をしやすくすることができます。
DEMO
付属のサンプルを参照してください。
ファイル名は sample_*.hsp です。
主な機能
OBAQオブジェクトの頂点を取得を取得できるようになります。
qadd系命令を本モジュールの命令に置き換えることで、オブジェクト作成に頂点取得の機能を追加できます。
四角形のオブジェクトを幅や高さを直接指定して作成できます。
qview命令の機能を拡張し、直感的に使える命令を用意しました。
インストール方法
ダウンロードしたzipファイルを展開し、 中にあるフォルダをそのままHSP3のインストールフォルダに上書きコピーしてください。
使い方
スクリプトの先頭でOBAQを使用できるようにした後に以下のような行を追加してください。
HSP3 #include "obaq_plus.hsp"
詳しい手順については、HSP3Dishのマニュアルをご参照ください。
詳細な機能紹介
本モジュールで追加できる機能について。
OBAQオブジェクト追加
qaddmodelP、qaddpolyP、qborderP 命令は、既存の addmodel、qaddpoly、qborder 命令と同じ引数を使用し、同じ種類の OBAQ オブジェクトを生成します。
ただし、本モジュールでは頂点座標を取得するqgetVertexOfShape命令に対応させるため、新たに P 付きの命令としています。既存命令の末尾に P を付けることで、そのまま置き換えて利用できます。
qaddboxP、qaddRectangleP は、四角形の OBAQ オブジェクトをより扱いやすく作成するための命令です。
従来の qaddpoly でも四角形は作成できますが、幅や高さを直接指定できないため扱いづらい面がありました。
本モジュールでは以下のように指定できます。
- qaddboxP:左上座標と右下座標を指定して四角形を作成
- qaddRectangleP:幅と高さを指定して四角形を作成
また、本モジュールで作成したオブジェクトを削除する場合は、qdel 命令ではなく qdelP 命令を使用してください。
ビュー設定
既存の qview 命令では、画面の位置や大きさを設定できますが、複雑なビュー操作は自前で自前で実装する必要がありました。
本モジュールでは、より直感的にビューを操作できるよう、以下の命令を追加しています。
- qview_add:現在のビューに対して相対的な変更を加える
- qview_moveTo:ビューの表示位置を移動する
- qview_zoomBy:現在の拡大率に倍率を掛ける
また、既存の qview 命令では現在のビュー設定を取得できませんが、本モジュールでは qgetview 命令で取得できます。
なお、ビュー設定に絶対値を指定する場合は、既存の qview 命令ではなく qview_set 命令を使用してください。
qview で直接変更すると qgetview が正しい値を返せなくなります。
変換
qcnvlength2obq、qcnvlength2win命令は、2次元ベクトルを渡すと長さを返します。
この際、内部座標と画面座標の変換も同時に行います。
その他
- qgetVertexOfShape
本モジュールで作成した OBAQ オブジェクトの頂点座標を取得できます。 - getQobjIdList
本モジュールで作成した OBAQ オブジェクトの ID を一覧として取得できます。 - qresetP
qresetを使用したい場合はqresetPを利用してください。 内部でqresetを実行した後に、本モジュールの内部状態の初期化を行います。
動作環境
Windows/HSP3Dishで利用可能です。 OBAQの機能を使える環境が必要です。OBAQは、下記のいずれかを導入することで使用可能になります。
- OBAQ.DLL
- HSP3Dish
- HGIMG3のver3.21
ライセンス
このモジュール「HSP3DrawPlus」は MIT ライセンスで提供されています。 詳しくは付属の LICENSE.txt をご確認ください。
これらのファイルは条件の範囲内で自由に使用・改変・再配布が可能です。 再利用される場合は、著作権表示とライセンス表記をソースコード中または配布物に明記してください。
履歴
| 2025/11/15 | v1.00 | ・公開開始 |