「アコーディオン」というのを使ってみる。Flash 地図を Flex 3 SDK で
「アコーディオン」というのを使ってみる。javascript 地図を jQuery 1.4 で
「アコーディオン」というのを使ってみた。けれど、あまり使い道がないような?
「アコーディオン」というのを使ってみる。Flash 地図を Flex 3 SDK で
「アコーディオン」というのを使ってみる。javascript 地図を jQuery 1.4 で
「アコーディオン」というのを使ってみた。けれど、あまり使い道がないような?
ひと月ほど前、フラッシュの使い回しを試した(FLEX: 動的コンテンツと変数(flashvars))。
今回は、プルダウン(ComboBox)で XML のすべての内容から特定の要素を選択してみる。
サンプルの XML ファイル参照。
まず取り込み
そんでコンボ・ボックスに表示するデータ・プロバイダを指示
プルダウンはこんなあんばい
スコアボードに表示する要素を特定する。id 代わりに日付を利用した
架空の野球の試合で例示したけれど、
といった、何某かのアーカイブを掲示するケースに使えるかもしれない覚書、以上。
ところで、娘の携帯を機種変更。自分の携帯もすでに4年ほど使っているので Android 携帯 Nexus One いいかなとちょっと思ったが、しかし携帯は苦手だし機能の持ち腐れになるから意味がない。
で、銀座山形屋でスーツを買った。たぶん8年ぶりくらい。
ふつうスコアボードなんぞをHTMLで書こうと思ったら、table - tr - td の繰り返しで作る。が、これは冗長にして冗漫なコードを書かなければならずカッタルイので、私は好かない。しかも、1回きりならともかく、何試合も続いたらイヤになること必至。
だったらスコアボードをフラッシュで作り、データのみ差し替えていけばいいじゃないかと。
flashvars で変数("game=091209")を渡し架空の試合を表示。元データの外部 XML ファイルは次のよう
<?xml version="1.0" encoding="utf-8"?>
<Score>
<Game id="091209" stadium="Citi Field" date="2009/12/09">
<Orioles first="2" second="0" ..... ninth="0" final="5" pc="Uehara-Tatum" note="2B: Jones" />
<Mets first="0" second="1" ..... ninth="4X" final="8" pc="Santana-Santos" note="HR: Delgado" />
</Game>
<Game id="091210" stadium="Tiger Stadium" date="2009/12/10">
<Yankees first="1" ..... ninth="0" final="4" pc="Pettitte-Posada" note="3B: Rodríguez, 2B: Matsui" />
<Tigers first="2" ..... ninth="2X" final="6" pc="Verlander-Laird" note="HR: Polanco, 2B: Ordoñez" />
</Game>
</Score>
「特定のノードを選んで表示するだけだからカンタンだろう」、と高を括っていたらツボにはまった。
案外、ネットを検索しても情報がない。Adobe の Livedocs は敷居が高く、血圧も高くなる。
(1) 変数を引きずり込む。行末の「game」がパラメータ
(2) 任意の node を指定。属性「id」の値が上のパラメータに一致する「Game」要素を選ぶという理屈
データプロバイダに変数を代入するにあたり、シロウトの悲しさゆえ勘違い
String ではなく Object やないか! と気づいた時には肩が凝っていた。中年の悲哀。
で、別の id 値「091210」を渡せばそのデータが表示されるという按配
というふうに一粒で何度もオイシイ。毎回コンパイルなんかやってらんねぇ。
あとは入力用の php フォームを設け、SimpleXML で要素(と属性)を追加していくだけ。手間要らず。
MXML のソース(抄、Open / Close)