-夏休み

今日・明日と、夏休みいただきました。土曜に妻子が帰省より戻ってくるので週末にはくっついて連続4日ですが、心理的には2連休です。休み中はどこにもでかけず家にこもってます。さきほど2日分の食料を買い込んで来たので夕食ぐらいは外に出ようと思いつつもそれすらでなくてOKにしておきました。
昨日からiPhoneでCoverFlowっぽいView(Cocoaの用語で、いわゆるGUIコントロール)を作っています。CoverFlowはデスクトップもiPhoneも未公開APIでアプリから利用できないため、画像表示+鏡面仕上げ+横スクロール+キャプション表示+タップ反応+ズーム、といっさいがっさいをCGContextほげほげなCoreGraphicsと呼ばれるC関数群とUIKitのAPIで作らないといけない。。。結構APIでは用意されていない論点が多かったのですが、今朝未明ぐらいにおおむね目処が立ちました。結果としてほとんど手組でつくらないといけないのでまだ残している論点の試行錯誤も含めると、作りきりの品質でも休みいっぱいつかっちゃうかなぁ。トータル500ステップにもいかないと思うぐらいのサイズですけどね。UIScrollViewのpagingEnabledは今回の要件ではうまく動かないんでページング機能を実装するのが手間だし。
今、画像表示+鏡面仕上げと横スクロールの半分ぐらいまで出来てます。前にsugaさんが調べてくれたのですが、ジニーエフェクトなどUIでMacっぽいうごきするようなものは多くが特許取られていて、調べていないけどたぶんCoverFlowなんてヤバそう。ベタにマネするのもためらわれるのでCoverFlowといってももっと簡素なものです。最も近いのはSafariのタブページ機能ですね。かぶらないように背景を白くしました。雰囲気AppleのWEBサイトで写真が横並びに出ているような感じ。エミュレータの画面を載せておきます。鏡面の映り込みはグラデーションのアルファーチャンネルも作ったのですが、本家CoverFlowもそんなことはしていないので一旦グラデアルファは外しています(ちゃんとはやってないから大層なことではありません。グレースケールでグラデーションをまず書いて、グラフィックコンテキストにblendModeを指定して鏡像描画と手抜きしました。CoreGraphicsのAPIで10ステップぐらいでできちゃう)。
ま、とにかく2日間プログラミングしつつ、しっかりと肝臓を休めたいと思います。ドラクエ5もやらないといけないし、NHK大河ドラマ篤姫は4週分溜め込んでるし。

いまつくってるこれは、一番早くには下記の日程で展示します。今も作ってる訳ですけどね(汗。でもフルタイム担当の猛者が3人でバリバリやってる中で、私は無くても支障無いおまけ機能だけしかやらせてもらってないので大丈夫。ウワサの魔法環境「Yukara」も出します。SeasarConにはiPhoneアプリは関係ないので展示はしないけど、自分の機械に入れて持って行きます。ほか、下記イベントではGoogle Android搭載実機の即売会をやるそうです(今、すごいことをさらっと言いましたw)。

  • 8月29日(金)@秋葉原ダイビル