DishJSBridgeモジュール
ダウンロード
DishJSBridgeモジュール Ver.1.00 (2025/04/20)
ダウンロード(28.1 KB)
DishJSBridgeは、HSP3Dish.js用に作成されたモジュールです。 JavaScriptによる機能追加を簡単に行うことができます。 JavaScriptライブラリのHSP3向けラッパー関数を作る際にも便利です。
目次
DEMO
例えば次のように記述すると、JavaScriptのコードを実行することができます。 この他にも、付属のサンプルスクリプトを参照してください。
HSP3
#include "dishJSB.hsp"
jsAddScript "alert('Hello !');"
jsAddScript "console.log('テスト');"
jsRun
主な機能
このモジュールでは、HSP3からJavaScriptコードを手軽に安全に実行できます。 JSファイルの読み込みや、HSP3側との値のやり取りにも対応しています。
使用できる命令は以下の通りです:
- jsAddScript
- 実行したいJavaScriptのコードを登録します。
- jsClearScript
- jsAddScriptで登録したコードをすべて削除します。
- jsGetScript
- 現在登録されているコードを取得します。
- jsRun
- 登録されたコードを実行します。
- jsInclude
- 指定したJavaScriptファイルを読み込みます。
- jsGetState
- jsIncludeによる読み込み結果を取得します。
サンプルとして、バッテリー情報、音声読み上げ・認識機能、加速度やジャイロ値などのモーション情報、位置情報、振動機能の実装例が付属しています。
HSP3との値のやり取り
JavaScript側からHSP3の変数へ、数値や文字列を渡すための補助関数を用意しています。 以下は、JavaScript側で整数値をHSP3側の変数に渡す例です:
HSP3
jsAddScript "IntToHsp3(" + varptr( 変数名 ) + ", 整数値);"
同様に、実数や文字列も次の関数で受け渡すことができます。
使用できる関数の一覧:
- IntToHsp3(ptr, value)
- 整数値をHSP3側へ渡す
- DblToHsp3(ptr, value)
- 実数をHSP3側へ渡す
- DblFromHsp3(ptr)
- 実数をHSP3側から取得する
- StrToHsp3(ptr, str, max_bytes)
- 文字列をHSP3側へ渡す
これらの関数を使うことで、JavaScriptとHSP3間で効率的にデータのやりとりが可能になります。 JavaScriptライブラリのHSP3向けラッパー関数を作る際にも便利です。
動作環境
- HSP3Dish.js での使用が必須です。
- Webブラウザ上でのみ動作します。
(Windows用の実行ファイルでは動作しません。)
インストール方法
ダウンロードしたzipファイルを展開し、 中にあるフォルダをそのままHSP3のインストールフォルダに上書きコピーしてください。
使い方
スクリプトの先頭で以下のように記述してください。
HSP3
#include "hsp3dish.as"
#include "dishJSB.hsp"
メニューから「ツール > HSP3Dish/Cソース変換」を選んで、HSP3Dish Helperを起動してください。
通常の方法で .exe を作成しても、DishJSBridgeの機能は動作しません。 必ずHSP3Dish Helperを使って、スクリプトをHTML5に変換してください。 変換後のファイルはWebサーバーにアップロードし、ブラウザ上で動作確認を行ってください。
詳しい手順については、HSP3Dishのマニュアルをご参照ください。
サンプルプログラム
本モジュールには以下のサンプルプログラムが付属しています。
- dishJSB_sample.hsp
- 最低限の構成で記述された使用例です。
- device-utils.js
- device-utils.hspのために作成されたJavaScriptファイルです。
以下の機能を提供します:- バッテリー情報の取得
- 加速度やジャイロのセンサー値の取得
- 音声読み上げや音声認識
- 位置情報の取得
- device-utils.hsp
- device-utils.js を利用するためのHSP3用ラッパーモジュールです。
- dishJSB_sample_battery.hsp
- バッテリー情報を取得するサンプル。device-utils.hspを使用しています。
- dishJSB_sample_geo.hsp
- 緯度経度などの位置情報を取得するサンプル。device-utils.hspを使用。
- dishJSB_sample_motion.hsp
- 加速度やジャイロ値を取得するサンプル。device-utils.hspを使用。
- dishJSB_sample_vibrate.hsp
- バイブレーション機能のサンプル。device-utils.jsにない機能をdevice-utils.hsp側で実装。
- dishJSB_sample_voice.hsp
- 音声読み上げ・音声認識のサンプル。device-utils.hspを使用。
注意
device-utils.js および device-utils.hsp の機能は、ブラウザやデバイスが対応していない場合には動作しないことがあります。
ご利用の環境によって一部機能が使えない可能性がありますのでご注意ください。
作成者
作者:GENKI
ライセンス
このモジュール「DishJSBridge」は MIT ライセンスで提供されています。 詳しくは付属の LICENSE.txt をご確認ください。
このライセンスの対象となるファイルは次のとおりです。
- dishJSB.hs
- dishJSB.hsp
- device-utils.js
- device-utils.hs
- device-utils.hsp
- dishJSB_sample.hsp
- dishJSB_sample_battery.hsp
- dishJSB_sample_geo.hsp
- dishJSB_sample_motion.hsp
- dishJSB_sample_vibrate.hsp
- dishJSB_sample_voice.hsp
これらのファイルは条件の範囲内で自由に使用・改変・再配布が可能です。 再利用される場合は、著作権表示とライセンス表記をソースコード中または配布物に明記してください。
履歴
2025/04/20 | v1.00 | ・公開開始 |