# JsdevmStart

デバイスモーション値の取得処理の開始

JsdevmStart

(プラグイン / モジュール : mod_dish-js-devmotion)

## 解説

    # HSP3Dish.jsでのみ動作します。

    デバイスモーション値の取得処理を開始します。
    ただし、URL が https:// でないとデバイスモーション値の取得はできないため注意してください。
    ==============================
    HSP3.7β10 から一部のデバイスモーション値は標準で取得できるようになりました。
    jsdevm_accel_x, jsdevm_accel_y, jsdevm_accel_z
    jsdevm_orient_alpha, jsdevm_orient_beta, jsdevm_orient_gamma
    これらは『センサーを使用する』をチェックすることでHSP3のシステム変数から同じ値を取得することができます。

    他のセンサー値も使用したい場合は mod_dish-js-devmotion.hsp を利用してください。
    このモジュールを利用する場合は『センサーを使用する』にチェックをしないでください。処理が重複してしまいます。
    ==============================

    iOSではユーザーに直接画面をタッチしてもらいデバイスモーション値取得の許可を得なければいけません。
    すでに許可を得ている場合は jsdevm_allowed に「1」が代入されています。

    取得を開始すると jsdevm_accel_gx などの各種変数値に常に最新のデバイスモーション値が代入され続けます。
    停止したい場合は JsdevmStop を使用してください。
    再開したい場合は再度 JsdevmStart を使用してください。

    デバイスのセンサー有無やブラウザによってはデバイスモーション値を取得できず、使用したい変数値を見ても変化がない場合があります。

## サンプル

    #include "hsp3dish.as"

    #include "ezlocal-dish-js.hsp"
    ezLocalJS
    #include "mod_dish-js-devmotion.hsp"

    JsdevmStart

    *main
    	redraw 0 : color : pos 0,0
    	mes "加速度(X,Y,Z) : "
    	mes strf(" (% .02f, % .02f, % .02f) m/s^2",jsdevm_accel_x,jsdevm_accel_y,jsdevm_accel_z)
    	mes ""
    	mes "加速度(X,Y,Z) [重力込み] : "
    	mes strf(" (% .02f, % .02f, % .02f) m/s^2",jsdevm_accel_gx,jsdevm_accel_gy,jsdevm_accel_gz)
    	mes ""
    	mes "端末向きの変化速度(alpha,beta,gamma) : "
    	mes strf(" (% .02f, % .02f, % .02f) deg/s",jsdevm_rotate_alpha,jsdevm_rotate_beta,jsdevm_rotate_gamma)
    	mes ""
    	mes "端末の回転量(alpha,beta,gamma) : "
    	mes strf(" (% 04d, % 04d, % 04d) deg",jsdevm_orient_alpha,jsdevm_orient_beta,jsdevm_orient_gamma)
    	redraw 1
    	await (1000 / 30)
    goto *main

## 関連項目

JsdevmStop | デバイスモーション値の取得処理を停止 | (mod_dish-js-devmotion)
jsdevm_allowed | デバイスモーション値取得が許可されてるか | (mod_dish-js-devmotion)
jsdevm_accel_gx | デバイスのX軸方向の重力度込みの加速度 | (mod_dish-js-devmotion)
jsdevm_accel_gy | デバイスのY軸方向の重力度込みの加速度 | (mod_dish-js-devmotion)
jsdevm_accel_gz | デバイスのZ軸方向の重力度込みの加速度 | (mod_dish-js-devmotion)
jsdevm_accel_x | デバイスのX軸方向の加速度 | (mod_dish-js-devmotion)
jsdevm_accel_y | デバイスのY軸方向の加速度 | (mod_dish-js-devmotion)
jsdevm_accel_z | デバイスのZ軸方向の加速度 | (mod_dish-js-devmotion)
jsdevm_rotate_alpha | デバイスのZ軸方向の回転速度 | (mod_dish-js-devmotion)
jsdevm_rotate_beta | デバイスのX軸方向の回転速度 | (mod_dish-js-devmotion)
jsdevm_rotate_gamma | デバイスのY軸方向の回転速度 | (mod_dish-js-devmotion)
jsdevm_orient_alpha | デバイスのZ軸を中心とした回転量 | (mod_dish-js-devmotion)
jsdevm_orient_beta | デバイスのX軸を中心とした回転量 | (mod_dish-js-devmotion)
jsdevm_orient_gamma | デバイスのY軸を中心とした回転量 | (mod_dish-js-devmotion)

## サンプル逆引き (2)

sample10_devmotion.hsp | #include "hsp3dish.as" #include "ezlocal-dish-js.hsp" e..
sample11_sunadokei.hsp | title "OBAQ 砂時計" qreset OBAQの初期化 frame = 0 num_suna = 0..

## 情報

プラグイン / モジュール | mod_dish-js-devmotion
バージョン | 1.0.1
作成日 | 2025/2/9
著作者 | MIZUSHIKI
URL | https://suwa.pupu.jp/HSP/index.html
備考 | HSP3Dish.jsでデバイスモーション値を取得できるようになります。[Web API利用]
タイプ | 拡張命令
グループ | 拡張入出力制御命令
対応環境 | ・Windows 版 HSP