FLASHのお勉強 ーアクションスクリプトの実践的事始めー |
|
(53) フォーム用ラジオボタンの動的作成 2007/12/18(actionscript3.0) |
|
| 本サイト「(51) フォーム用テキストフィールドの動的作成」で、入力チェック付テキストフィールドの作成、「(52)フォーム用コンボボックスの動的作成」でas3.0によるコンボボックスの作成について解説したが、本稿は、ラジオボタンの作成である。 ラジオボタンの項目(label)、配置座標、大きさなどを指定するswfファイルと、それらを引数とするラジオボタンの作成と選択された項目を返すクラスファイルの組み合わせで構成されるラジオボタンの作成スクリプトである。 確認ボタンをクリックすると、選ばれている項目が表示用テキストフィールドに表示されるまでを作成する。 |
|
| SAMPLE | |
|
ステージの準備 |
|
| スクリプト ファイルの構成: setupRadioButton.fla(swf) − createRadioButton.as |
|
setupRadioButton.flaファイル
|
|
| <説明> ●import fl.controls.RadioButtonGroup; ラジオボタングループパッケージの読み込み ●var rb1_label:Array = ["20才以下","20-30才","30-40才","40才以上"]; 選択対象項目のラベルを配列(rb1_label)で定義 ●var rbg1:RadioButtonGroup = new RadioButtonGroup("年代"); ラジオボタングループインスタンス(rbg1)の作成 ●var rb1:createRadioButton = new createRadioButton(rbg1,rb1_label,rb1x,rb1y,rb1size); クラス(as)ファイルにrbg1以下の引数を渡し、ラジオボタン(rb1) を作成し、表示する(addChild(rbg1)) −−−−ここまでで、ラジオボタンが作成される−−−− ●function confirm(event) { 確認ボタンがクリックされたら以下を実行する関数 var clicked$:String = rb1.clickedData(); // クリックされている項目データを、クラスファイルから取得する display(clicked$);// そのデータをdisplay関数に渡す ●var tf:TextField = new TextField(); 以下は、 確認ボタンがクリックされたら、選択された項目を表示するテキストフィールドを作成する ●function display(clicked$) { 選択された項目を表示する(選ばれていない時は、選ばれていない旨のメッセージを表示) |
|
|
createRadioButton.as ファイル |
|
|
|
| <説明> ●import 必要なパッケージの読み込み ●var n:Number = rb_item.length; 配列の長さ、すなわち、項目数 ●var rb:RadioButton = new RadioButton(); ラジオボタンのインスタンス(rb)作成 ●rb.label = rb_item[i]; 引数で渡された配列データに基づいて、ラジオボタンのラベル(項目)を割りつける ●if (i >0) { x += rbsize*(rb_item[i-1].length+2); } 2番目以降のラベルの表示x座標は、前の項の文字数に2を足した数に文字サイズを掛け算した数値だけ加える ●rb.move(x,y); rbを座標(x,y)に配置 ●rb.addEventListener(MouseEvent.CLICK, clickHandler); ラジオボタンがクリックされたら、関数 clickHandler を実行 ●clickedLabel = event.currentTarget.label.toString(); クリックされている項目をストリングに変換して、clickedLabel に取得する ●public function clickedData():String { return clickedLabel; } swf(fla)ファイルから参照されたときにクリックされている項目データを返す |
|
|
|
|
| HOME お勉強総リスト |