マウスで操作する、FPSもどきのゲームを作っているのですが、
現在のHSPの仕様では画面上のマウスカーソルの位置を
読み取ることしかできないのでしょうか?
今はとりあえず以下のような方法で処理しております。
(マウスで視点操作のテスト)
#include "hgimg3.as" screen 0,640,480,0,0,0 title "[ESC]で終了" hgini onexit *quit dim obj,30 addbox obj_m,20,20 repeat 30 regobj obj(cnt), obj_m x = rnd(100) - 50 z = rnd(100) - 50 setpos obj(cnt), (x*10), 0.0, (z*10) loop ha = 0.0 ;水平方向カメラアングル va = 0.0 ;垂直方向カメラアングル mouse 320,240 mouse -1,-1 *main getkey k,27 if k = 1 : goto *quit mx = double(ginfo(0) - 320) my = double(ginfo(1) - 240) mouse 320,240 mouse -1,-1 ha = ha - (mx / 2000.0) va = va - (my / 2000.0) if ha < -6.2832 : ha = ha + 6.2832 if ha > 6.2832 : ha = ha - 6.2832 if va < -0.5 : va = - 0.5 if va > 0.5 : va = 0.5 setang HGOBJ_CAMERA, va, ha, 0.0 hgdraw hgsync 16 goto *main *quit hgbye end
この方法でも普通に操作はできるのですが、
操作が激しくなるとウィンドウの外をクリックしてしまったり、
高性能なゲーミングマウス等では操作性が悪くなる可能性もあります。
市販のゲームの様に、直にマウスの移動量の数値を読み取りたいのです。
何か良い方法をご存知の方がいらっしゃいましたら、ご教授お願いします。