D JavaScript

GeoGebraの命令の実行

ここでは、「GeoGebraスクリプト」のページで説明したGeoGebraスクリプトの代わりに、JavaScriptを用いる方法を説明します。用意されているメソッドについては、GeoGebraのサイトにリファレンスのページ(英語)があります。

ウェブページにエクスポートした場合、htmlのソースにJavaScriptのコードを書いて、アプレットを制御することも可能ですが、これについてはここでは説明しません。

JavaScriptでGeoGebraの命令を実行するメソッドは、

boolean evalCommand(String cmdString)

です。文字列でGeoGebraスクリプトを渡すと実行され、実行に成功するとtrueが返り値として返ります。以下のメソッドもそうですが、ggbAppletというオブジェクトのメソッドなので、実際のコードは、

ggbApplet.evalCommand("A = Point[(1,2)]");

のようになります。

こういった命令コードは、GeoGebraスクリプトと同様に、On Click や On Updateのハンドラに記述することができます。

オブジェクトの状態の取得と設定

上述のevalCommandで可能な場合も多いですが、オブジェクトの状態の取得や設定に、専用のメソッドが用意されています。まず状態を設定する主なメソッドをあげます。

次に状態を設定する主なメソッドをあげます。

x = ggbApplet.getXcoord("A");

のように用います。

ほかにも多数のメソッドがありますので、GeoGebraのサイトのリファレンスのページ(英語)を参照してください。JavaScriptのリスナーの仕組みも使えますので、On Click、On Updateハンドラ以外からもスクリプトを実行させることができます(詳細は省略)。

グローバルJavaScript

複数のオブジェクトのスクリプトで利用される関数は、それぞれのオブジェクトに付随するスクリプトの欄に重複して記述しても構いませんが、グローバルJavaScriptの欄に記述すると、一度書くだけで済みます。どのオブジェクトにもグローバルJavaScriptの欄がありますが、すべて共通のコードです。

また、ggbInit() という関数は、起動時に呼び出されるフックです。グローバルJavaScriptでこの関数が定義されていれば、起動時に呼ばれます。