RESUME_MOUSE_WHEEL = true
プール値がtrueに設定されている場合、スクリプトはマウスホイールの動きを再開し、X-Planeはそれを認識しません。 X-Planeや他のプラグインを妨害しないように、デフォルト値はfalseです。
つまり、trueに設定されているとマウスホイールの動きを認識し、X-Plane上での様々な動作(画面の移動、スイッチ等)を行うことができない。falseだとその反対でX-Planeが使用する動作が優先されFlyWthLuaのホイール動作が認識されなくなる。FlyWthLuaで設定したマウスホイールの動作を使いたい場合はtrueにする必要がある。
これはホイール関数(do_on_mouse_wheel)を使う必要がある。
中々理解しにくい RESUME_MOUSE_WHEEL
RESUMEとは再び始めるという意味、ホイールの場合はマウスの中央にあるホイールを回して数値を変えたりするのに使われるが、その時「false」にしていると、本来は数値の変化だけでいいのに、下の画面が反応してしまいスクロールによって画面が奥にいったり、手前に行ったりして困ってしまうということになる。
これを止めるには「true」にしておく必要がある。
下の画像では数値のところをマウスホイールを使って数値を変化させるようにしているので、この範囲を「RESUME_MOUSE_WHEEL = true」を設定している。これによりこのスペースだけはX-Planeの画面の拡大、縮小は実行されない。逆にこの範囲は数値をマウスホイールで変化させることができる。
例題として下をあげたが、一番下のほうに「RESUME_MOUSE_WHEEL = true」がそれにあたる。
require "graphics" local qs_baro = dataref_table("sim/cockpit/misc/barometer_setting") local qs_real_baro = dataref_table("sim/weather/barometer_sealevel_inhg") function draw_quick_settings() -- グラフィックシステムを初期化する XPLMSetGraphicsState(0,0,0,1,1,0,0) -- 透明な背景を描く graphics.set_color(0, 0, 0, 0.5) --長方形の色(黒)、透明度 graphics.draw_rectangle(100, 70, 600, 100) --長方形を描く graphics.set_color(1, 1, 1, 0.5) --線の色 -- 情報テキストを描く draw_string_Helvetica_10(115, 89, "BARO") --1013.2 ヘクトパスカル(hPa)= 29.92 水銀柱インチ(inHg) --下はdatarefの水銀柱インチ値をヘクトパスカル値に変換している draw_string_Helvetica_18(115, 74, math.floor(qs_baro[0] * 33.8637526 + 0.5))--math.floor=小数点以下切り捨て end do_every_draw("draw_quick_settings()") -- マウスをクリックしたときの動作を設定 function qs_mouse_click_events() -- これは一度だけ反応します if MOUSE_STATUS ~= "down" then return end -- BARO if MOUSE_X > 110 and MOUSE_X < 160 and MOUSE_Y > 70 and MOUSE_Y < 100 then qs_baro[0] = qs_real_baro[0] --クリックでqs_baroの値をqs_real_baroの値にする。 --qs_real_baro値は変換されていないように見えるが、上のqs_baroの戻って変換される。 RESUME_MOUSE_CLICK = true end end do_on_mouse_click("qs_mouse_click_events()") -- マウスホイールをクリックしたときの動作を設定 function qs_mouse_wheel_events() -- BARO if MOUSE_X > 110 and MOUSE_X < 160 and MOUSE_Y > 70 and MOUSE_Y < 100 then qs_baro[0] = qs_baro[0] + MOUSE_WHEEL_CLICKS * 0.01 --1x0.01分、細かく動作させる RESUME_MOUSE_WHEEL = true end end do_on_mouse_wheel("qs_mouse_wheel_events()")