半年間何も動きが無かったのが嘘のように、一気に動き出した証拠品JavaScript。
逆ifの場面が成歩堂のパートから王泥喜の現代パートに帰ってきたのをきっかけにインラインフレームを設置してみた。ただ、それまで成歩堂パート版で素材の準備を進めてきたせいでとっさに用意できたのが成歩堂パートのサンプルだったわけだが。成歩堂パートが終わるのは分かっていたし、貼り付けるとしたら早くても王泥喜パートだろうとも思っていたが、自分でもまさかこんなに早くフレーム出すことになるとは思ってなかったので成歩堂パート版をそのまま出す羽目に。まあ、どうせサンプルだからどうでもいいや。
その後、急ピッチで王泥喜パートの素材を吸い上げたり(単純作業だったので始めてみたら案外あっさり終わった)、Scriptのためのデータを整備したり(ほぼ丸写し、改行文字をbrタグに一括置換したりしただけ)と作業も進み、残された一部ユーザインタフェースとコア部分に取りかかる段階に来た。
FLASHに比べてやりやすいこともあればやりにくくなったことも色々とあるな。まず、デザインは相当にやりにくい。タグやスタイルシートが相変わらず思い通りになっちゃくれない。最初、FLASH同様に背景部分とボタンをばらばらに作ってテーブルタグで区切って配置していたが、後から更に何か追加するたびずれたり、それを調整すると新しく配置した奴がずれたりというのを繰り返しまくった末に背景画像にボタンも書き込むことにした。でも、これやっちゃうとボタンの上にマウスカーソル載せたら光るみたいなアニメーションできないんだよな。中身を作るのが落ち着いたらまたボタンと背景バラすことになるかも。
アニメーションと言えば、FLASHの方ではフレームアニメでやってた証拠品切り替え時のアニメーションもスタイルとスクリプトの組み合わせで切り抜けないとダメかも。これも余裕が出来たら手を出してみるかも知れないが、まともに使えるようになった時点で満足して(あるいは力尽きて)実現しないかも……。FLASHの時だって、インタフェースの改良がしやすいようにとわざわざデータ部分とインタフェース部分を分割し、その結果キャッシュが邪魔でデータを更新しても古いままになる不具合を抱えまでしたのに、それ以降インタフェースの改良なかったし。インタフェースがデータを読み込む形式なのを、逆転させてデータにインタフェースFLASHを読み込ませるようにすれば表に立つデータフラッシュをちゃんとリロードしてくれるんじゃね?と思い立ったものの、思いついただけだったし。まあ、暇なら手を出すんじゃなかろうか。
インターフェースはそんな感じで最低限の体裁だけ整えておいて、中身について。
こっちは色々大幅に見直すことになりそう。データの内容は変える気はないが、データ処理の方法とかがな。
まず、何より大きく変わりそうなのが証拠品の一部が持つ「詳細」について。FLASHでは「詳細スプライト」を用意しておいて、必要に応じてそのスプライトのフレームを切り替えて表示させていたのだが、スプライトもフレームもないのだから当然この手は使えない。これについては本当に、どうしたものかと頭を抱える始末だった。
が、やむを得ない事情諸々などの処理をしているうちに打開策というか手抜き策が見出された。
証拠品JavaScript……なんか長いし重苦しいな。もっと気軽な呼び方ないかな。JSの証拠品……よし、これからはJSしょうこちゃんと呼ぼう。とにかくそれの置き場はKIEFのあるXREAだ。このブログには素材ならば置けるがハイパーテキストもJSも置けないからな。で、XREAは広告が表示される。どうにかしないと邪魔だ。
インラインフレームは、別に表示される内容が全て枠の中に収まっている必要はない。むしろそのためのフレームだ。置き場をXREAにすると決めた当初は広告についてもちゃんと懸念材料として認識はしていたが、レイアウトやスクリプトに取りかかっているうちに失念し、試しにアップロードして表示してみたら「そういえばそうだった」ってな感じになったもんだが、その時はまあちょいっとスクロールさせて思惑通りの表示がされている気分をお手軽に味わってみたりした。それに、解決策として本体部分にアンカー付けてリングはそのアンカーに飛ばせばいいじゃんと。
そう、スクロールだ。でもってアンカーだ。画面外に何が置かれていようと、スクロールさせなきゃ見えない。そして、スクロールさせれば見える。ならば、同じページの下の方にでも詳細を書いといて、アンカーで飛ばすだけでそれっぽく動くはずだ。そのうちフローティングボックスと可視不可視のスタイルシートでも使ってよりそれっぽく改良できるだろう。でも当座はこれで上等だと思われる。
後は内部データの構造とかも色々弄るつもり。なるべく、俺が楽できる方向でな!その詳細はまたブログのネタがなくなった時にでも。

0