うしブログ

うしブログ

趣味で運営する、GeoGebraの専門ブログ。

(作業メモ)StartPoint要検証(2行の場合;テキスト変更時未定義問題)

(要修復)ToggleButton・RollPolygonWithoutSlipping・貯金時計・直感力トレーニング

「ドラッグによるオブジェクトの更新回数のカウント」と「一連のドラッグ操作回数のカウント」

ドラッグによるオブジェクトの更新回数のカウント

オブジェクトをドラッグすることによって、オブジェクトの状態が更新されますので、On Updateハンドラに「特定の数値オブジェクトに1を足す」というスクリプトを記述すれば、ドラッグによるオブジェクトの更新回数をカウントすることができます。

例えば、数値オブジェクトcount=0を作成し、三角形poly1=Polygon[A,B,C]のOn Update ハンドラに、

SetValue[count,count+1]

と記述すれば、数値オブジェクトcountの値は、poly1をドラッグすることによるpoly1の状態の更新回数を表すことになります。

poly1をドラッグしたときに、countがどのように増えていくかは、下記アプレットで実際に試してみてください。左上の「ドラッグ回数」の数字がcountの値を表しています。

相当な速さでcountが増えていくことが分かります。

いわゆる「ドラッグ・アンド・ドロップ」の一連の動作を1回行うだけでも、countの値は1増加するだけでは止まらず、ドロップするまで増え続けます。これは、On Updateハンドラが、ドラッグ・アンド・ドロップの一連の動作1回につき1回実行されるというものではなく、オブジェクトの更新1回のたびに実行されるものだからです。1回のドラッグ・アンド・ドロップにより、オブジェクトは複数回更新されているということです。

 

一連のドラッグ操作回数のカウント

それでは、「ドラッグ・アンド・ドロップ」の一連の動作を1回として、その回数をカウントすることはできないのでしょうか。

これには、とある工夫をする必要がありますが、下記のアプレットのように、実現可能です。

気になる方は、作成にトライしてみてください。