K ラジオボタンの作成
いくつかの選択肢のうち,1つだけが選べるのがラジオボタンです。
ここでは,三角関数の3つのグラフのうちひとつを表示するものをつくってみます。
GeoGebra
チェックボックスツールを使ってチェックボックスを作り,それらのうち1つだけが有効(true)になるようにします。
まず,先に3つのグラフを描いておきます。入力バーで f(x)=sin(x) ,g(x)=cos(x),h(x)=tan(x) とそれぞれ入力して3つのグラフを描きます。いまは3つとも描かれています。
次に,チェックボックスツール(右から2番目のツールグループ)で3つのチェックボックスを作ります。
図は,3番目のチェックボックスを作っているところです。
1つ目のチェックボックス a を右クリックし,プロパティを開きます。
スクリプティングの On Update に,次のスクリプトを書きます。
SetValue[a,true] SetValue[b,false] SetValue[c,false]
チェックボックスをクリックすると,自分自身を true にして,他は false にするわけです。
同様にして他のチェックボックスも設定をします。
これで,どれか1つだけが有効なラジオボタンができます。
Cinderella
Cinderellaでは先にボタンを作ります。
「文字列を追加する」ツールで,「y=sin x」「y=cos x」「y=tan x」の文字を画面上に作ります。
動かすモードにして「y=sin x」をクリックして選択し,インスペクタを開きます。
「表示方法」でサイズを少し大きくしておき,「要素の情報」タブをクリックします。
「ボタンとして使う」にチェックを入れ,スクリプトの欄に次のスクリプトを書きます。
Text1.pressed=false;
Text2.pressed=false;
Text1は2番目に作った y=cos x ,Text2は3番目に作った y=tan x です。
この2つが押されていない状態にするのです。
他の文字も同様にしてボタンにします。y=sinx の文字列は Text0 です。
次に,スクリプトメニューからCindyscriptを選び,左の Draw をクリックして,次のスクリプトを書いて実行します。
if(Text0.pressed,plot(sin(x)));
if(Text1.pressed,plot(cos(x)));
if(Text2.pressed,plot(tan(x)));
これでできあがりです。3つのボタンのうちどれか1つだけが有効でそのグラフが描かれます。
なお,最初はどれも選ばれていないこともあります。
ボタンは次のように作ることもできます。
「y=sin x」「y=cos x」「y=tan x」の文字列の他に,その前に◎の文字を作ります。(「y=sin x」などはボタン化していない状態です)
「y=sin x」の前の◎を選択してインスペクタの「要素の情報」で,こんどは「ボタンとして使う」「クリックボタン」の両方にチェックを入れます。「クリックボタン」にチェックを入れないと ON でへこむボタン,チェックを入れるとへこまないボタンになります。
スクリプトの欄が狭いので,右側にある「…」をクリックしてスクリプト入力ウィンドウを開き,次のスクリプトを書きます。
fn=1;
Text3.val="◎";
Text4.val=" ";
Text5.val=" ";
今度は,どのボタンが押されたかを fn で表すことにして,ボタンの文字(.val)を自分は◎,他は全角スペースにするのです。
他も同様に設定します。
これで,関数の名前の前の四角がラジオボタンになります。
グラフ表示のスクリプトは次のようにします。
if(fn==1,plot(sin(x)));
if(fn==2,plot(cos(x)));
if(fn==3,plot(tan(x)));
Cindyscriptの場合は,他にも工夫次第でいろいろなタイプのラジオボタンを作ることができます。