先月中に全部使ってみるという話だったけど、ちょっと越えてるとゆー。
とりあえず使ってみただけ、という状態だけど、とにかく終わらせてみた。
Σc ' _' ) < 最初宣言した時は、余裕あると思ってたくせにな $ σ_σ$ < DSでシレンとかやってるからよ
ProgressBarにはmodeってのがあって、ProgressBarModeのEVENT、POLLED、MANUALが選べる。
EVENTモードのProgressBarのsourceプロパティには、progressとcompleteイベントを持っているオブジェクトを指定すれば、プログレスバーが自動的に進んで止まるようだ。
POLLEDモードの場合は、bytesLoadedとbytesTotalを持っているオブジェクトを指定すればいい。
どうも大抵は上記のイベントも持っているみたいだから、EVENTモードでやれば良さそう。
sourceに何も指定してないといわゆるバーバーポール(床屋の看板状の棒)になる。
んで、MANUALモードだと進捗状況を全部自前で設定するということのようだ。
では、これをやってみる。
ステージにMANUALモードでProgressBarを表示して、フレームスクリプトに以下のコードを書く。
var currentIndex:Number = 0; addEventListener( Event.ENTER_FRAME, enterFrameHandler ); function enterFrameHandler( e:Event ):void { progressBar.setProgress( currentIndex, 100 ); currentIndex++; if ( 100 < currentIndex ) { currentIndex = 0; } }
setProgress()じゃなくて、minimumとmaximumとvalueを使ってもプログレスバーを進める事ができる。
えーと、成果。鳶嶋工房 / User Interface / Terms / プログレスバー
…これ、グループじゃないのかっ!
ラジオボタンは常に複数のグループで使われるし、値もグループでひとつしかとらないのに…ActionScript3コンポーネントはラジオボタンを一個一個置いて、値をとる時はグループになっているのを全部スキャンするか、CLICKハンドラでいちいち記録する必要があるっぽい。
うーん、とってもいやな感じ。
と思ったら、groupってプロパティがあって、そこにfl.controls.RadioButtonGroupってのが入っている。
こっちの方でselectedDataの値をとってやればいいらしい。うーむちと使いづらい。グループ内での位置とかデフォルトでいい感じに並べてくれればいいのに。
えちご成果。鳶嶋工房 / User Interface / Terms / ラジオボタン
Σc ' _' ) < 投げやり感が見え隠れしております
sourceにはクラス名を設定したライブラリのシンボルも指定できる。シンボルの座標( 0, 0 )がスクロール範囲の左上になるので、画像の中央が( 0, 0 )になっているようなものだと左側と上側はスクロールしても見れないので注意。
ファイルの読み込みもできて、先の ProgressBarのsourceに指定する事もできる。
画像を表示したいというだけの目的には結構性能いい感じ、
まーこれは、着色してみるで使ったので良し。
しかし、めちゃめちゃスライダサムがドラッグしにくい。そのうちカスタマイズしよう。
作り直しただけだけど成果。鳶嶋工房 / User Interface / Terms / スライダ
まぁ…これ、なんでコンポーネントを使うのか謎っぽいですよね。
スクロールバーが付くのがTextFieldとは違うところ。
使い方と言っても置くだけですわな、基本的に。
TextAreaと何が違うのかと言うと、これは一行だけ。プロパティの設定だけで良さそうな気もするんだが、あえて別に分けるメリットは…retrunキーの判定とか、意外に細かいところ違うから、無くはないかな。
これ何かって言うとflash.display.Loaderを使うのが面倒くさいから、コンポーネントにしたもの。
良くある、サムネイルを外部の画像ファイルから読み込んで表示、なんてのにはこれ使っとけばOKな感じ。確かに楽。
TextAreaがあるので、かなり立ち位置が怪しくなっているコンポーネントだけど、スクロールバーを持っているコンポーネントは、このコンポーネントを
最後は駆け足でほとんどステージに置いただけみたいな使い方だけど、一応使ってみた。
次回からは、折角覚えたコンポーネントなので、こいつらを使ってゲームを作る。
今日はここまで。
2011-03-02