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/20v1.00 ・公開開始

関連記事

  1. HSP3Dish.jsでJavaScript 対象環境 execでJavaScriptを実行する HSP3Dish.jsにおけるスクリプトの最小構...
  2. HSP3Dish.jsでセンサー値を取得 今回やること センサ値の取得(JavaScript) stringToUTF8Array関数を使った...
  3. HSP3Dish.jsでGPS座標を取得 Geolocation APIとは? Geolocation APIの基本的な使い方 エラー処理 位...