現在、マウスで操作するHGIMG3を使った3Dゲームを作っております。
マウスの横移動でカメラの向きが変わる、いわゆるファーストパーソンシューター式の操作です。
マウスの移動量を検出するのに、mouse命令とginfoを駆使して毎フレームごとに
マウスカーソル位置をmouse x,yで強制的にウィンドウの中央に戻して、mouse -1でカーソルを消し、
それからのマウスカーソルの移動量をginfoで検出する方法を行っておりました。
これでも、今のところなんとか実現できてますが、ウィンドウのサイズの都合、毎フレームの
カウント量が300程度しか取れず、また、mouseオンオフを繰り返すので、稀にカーソルがチラついて見えることもあります。
マウスからハードウェア的なX軸の量が読み取れれば、ものすごくスマートでシンプルなコードにできるのですが・・・
と思っていた矢先、DIPSWというドンピシャなプラグインを見つけました。
しかし、自分のゲームに組み込んでみたところ、HGIMG3の初期設定の段階でエラーが出ます。
とりあえず
#include "hgimg3.as"
#include "dipsw.as"
hgsetreq SYSREQ_MAXOBJ,1000 ;最大オブジェ量
hgsetreq SYSREQ_3DFILTER,1
hgsetreq SYSREQ_2DFILTER,1
hgini
dip_ini
dip_bye
hgbye
この段階でhgsetreqが「エラー16・パラメーターの数が多すぎます」で引っかかります。
私の環境が悪いのか、それとも、HSP33RC1との相性が悪いのか・・・よくわかりません。
それともマイクロソフトが最近言うように、DirectInputで直にマウスを読み取るな!ということのなのか・・・
みなさんの環境ではこのエラーは出ますか?