
Flasherの祭典に行ってきて感じたこととか備忘録。
Flash CS5
- コンポーネントインスペクタパネルがデフォルトのプロパティパネルへ統合
- 起動時に表示されるスプラッシュスクリーンが最前面に居座らなくなった(地味に嬉しい)
- 埋め込んでるフォントの一覧表示・管理が出来るように
- FlvPlaybackのUIをステージ上でリニアに調整可能に
- テキストの分割・連結・流し込みが可能に
- テキストのマルチカラムレイアウトが可能に(分割数・サイズ・スペース調整が容易)
- テキスト縦組みエンジンの強化
- アクションパネルでカスタムクラスのコードヒントが可能に
- コンパイルエラーパネルの強化
CS5でiPhoneアプリ
- Windowsでもipaファイルが作成可能
- ActionScriptをObjective-Cに解釈しなおすわけではなく、Objective-Cで再生可能なミニバーチャルマシンがバンドルされるイメージ
- なのでObjective-Cで開発するよりもファイルサイズが増える
- まだの人はとりあえずiPhone Developer Programに登録しておいた方がいい
Flash Player 10.1
- モバイルデバイスに対応(Palm、Android、Windows Mobile)
- タッチスクリーンデバイスに対応(マルチタッチ・ジェスチャー・オリエンテーション・加速度センサー)
- TouchEvent.TOUCH_MOVE みたいな
- ローカルのマイクロフォンにアクセス可能に
- グローバルなエラーハンドリングが可能に
AIR 2.0
- ネイティブアプリをAIRでロンチ可能に
- 外部デバイスの接続検出が可能に
- サーバソケットとの接続機能強化
- WebkitはHTML5/CSS3に対応
Connecting the Dots by Mario Klingemann (Quasimondo)
- 素数は美しい
- Ulam Spiral、Sacks Spiral
- Conway’s game of Life
- ボロノイ図、ドロネー図
Quick as Flash by Grant Skinner (Gskinner)
- Math.floor(num) よりも num | 0
- Math.round(num) よりも num+0.5 | 0
- {x:_x, y:_y} よりも new Point( _x, _y)
- num/4 よりも num*0.25
- if( Func() && trueOrFalse ) よりも if( trueOrFalse && Func() )
- 大量ループには for よりも likedList(next,prevでつなぐ)
- リニアサーチ よりも バイナリサーチ
- 再描画エリアを最小化する
- alpha=0 よりも visible=false よりも removeChild()
- 平行移動にはsprite.cacheAsBitmap=true、回転・拡大縮小するなら sprite.z=0
- 最適化検証にJoa EbertのTAASを使うといいよ
- フレーム中にGCが動作する余裕をもたせる
- オブジェクトプールを利用する事でGCを回避して無駄をなくす
- 当日のスライド(トランジションがかっこいい)
AdobeのエヴァンジェリストLee Brimelowへの質問で一番多かったのがやっぱりiPhoneアプリに関係することでした。CS5を使うことで今までできなかったWindowsでの開発が可能になるのは意外と大きなことかもしれません。
Flash製のiPhoneアプリがどっと増えることになりそうです。iPhone特有のUIが使えないのとObjective-Cネイティブに比べて処理速度が落ちるだろう点から、ちょっとしたゲームアプリとかがやっぱり多くなるんでしょうね。
自分が一番熱くなったのはMario先生のセッションでした。発想の豊かさと頭の中を具現化するその執念じみた情熱に感動した。しかも本人はすごいフレンドリーな人で、セッション終了後のパーティーではポケットからオリジナル缶バッジを取り出して「ほら!」とおもむろにくれたりしました。
Grantの最適化講座は実作業でもろに役に立つことばかりだと思います。どこかで聞いたことのあるものから、よく思いついたなってものまで突き詰めると奥が深いですね。完成度を高める上でも欠かせない工程なのですがなかなかそこまでは…すいません、がんばります。
ほんとに内容が濃くて満足過ぎる一日でした。絶対にまた東京でやってほしい!よろしくお願いします。