2011/11/18

BOLT FROM THE BLUE -STEP 3-

ということでだいたい2日くらいで新しい画面終了




iPodTouch/iPhoneの画面で、
車載時は細かい表示は見れないので、
一つのことに特化しようということで
シフトインジケーター

でもそれだけではつまらないので
リング表示でなんか未来っぽく。

iOSは自動補完アニメーションしてくれるものの、
拡大縮小・回転・座標移動くらいしかないので、
AfterEffectやPremiereみたいな、
クロックワイプとかは無理。

だったらということでレイヤーマスクx3で作成。
暗黙アニメーションで大きく動くときずれないように、
ラジアン角はシンクロして動かす。

絵でなく、マスクで作っているので色変更も
暗黙アニメーションでリニアで対応可能。
今回はS2000(F20C)のVTECポイント5850回転でオレンジに。

数値表示はあまり細かく出ても仕方ないので100単位に
ゲージは100単位だと跳ねるので25単位に調整。

これで一つのインジケーターはできたんですが、
今回はこれをCALayerの派生クラスにして、
複数使いまわせるようにコーディング。


車両の前方向加速度が一定以上になった場合は、
シフトアップインジケーターを表示(右からスライドイン)
逆に後方加速度か、フットブレーキフラグが立った場合は、
シフトダウンインジケーターを表示(左からスライドイン)

ただしダウンは−1シフトと−2シフトを表示。
オーバーレブ(9000〜)の場合は透明度を下げて粗非表示にする。


テスト段階では100回転ステップのダミーデータしかなかったので、
25回転のダミーデータ配列を1000要素くらいに増やしたら
結構リニアに動くように。


インジケータークラスを使いまわす場合に、
小型ゲージはScaleで縮小してるので結構重い。
iPhone4Sだと問題ないけど、Touch4Gだとちょっと重い重い。

もう少し最適化はできなくもないけど、
モーション歌詞モードでもTouch思いし、
新型のTouchはマルチコアであることを期待しよう。

0 件のコメント:

コメントを投稿