Flash CS5 iPhone FAQ 適当訳

Flash CS5 iPhone FAQ。http://theflashblog.com/?p=1513 誰か翻訳して

とtwitterでつぶやかれているのを見たので適当訳。かなり意訳しているけど本来の意味は崩していないと思います。訂正があったらコメントくれると嬉しいです。

沢山の人がFlash CS5でiPhoneアプリを作るチュートリアルを楽しんでくれて嬉しいよ。予想通り大量の質問がきたので中でも特に多かった質問に答えましょう。

お断り:ここの情報は変わるかもしれないよ。

Flash BuilderでiPhoneアプリが作れるの?

作れるようになるよ。Airみたいにね。コマンドラインでコンパイルもできるよ。SWFファイルとアプリXMLファイルをコンパイラに指定すればIPAファイルができるんだ。

なんで普通のiPhoneアプリよりファイルサイズがでかくなるの?

Flashライブラリもアプリに含まなきゃならないからだよ。将来はできるだけ小さいサイズにしようとは思ってるけど。まあ、でもFlashを使うからには多少普通より大きくなるのは知っておいて。

この方法に適さないアプリはある?

もちろん。ハードウェアアクセラレーションはサポートしてるけど、3Dバリバリのゲームとかは作らないほうがいいね。Infared5が作ったStar Warsゲームみたいなやつとか。そういうゲームはFlashで作らない方がいいと思うよ。

いつ使えるようになるの?

バブリックベータを今年中に出す予定。まだ確定じゃないから細かいことは言えないけど。しかもこの予定も変更する可能性あり。

Adobeは加速度センサーとかをデスクトップでテストする方法を提供してくれる?

うん、デスクトップでiPhoneの機能をテストするいろんな方法を提供したいと思ってる。次のバージョンのDevice Centarlは加速度計とGPSをテストできるようになるよ。でもそれがこのiPhoneアプリ作成用に使えるようになるかは未定。

なんでコンパイルにそんなに時間がかかるの?

いまここでコンパイル中になにが起きてるかとか、なんで遅いかとか細かい話をするつもりはないけど、もちろんできるだけ早くコンパイルできるようにがんばるよ。でも、このコンパイラーはやることがいっぱいあるからしかたないっちゃしかたないんだ。

iPhoneのハードウェアアクセラレーションをどうやって使ってるの?

cacheAsBitmapに似てる新しいAPIがあってそれが拡大縮小、回転、3D、透明度の変化とかがあったときにGPUにdisplay objectをキャッシュしてくれたりするんだ。まだ実際のAPIは変更されたりするからまだ細かいことは書けないんだけどね。

もうちょっと詳細を知ることはできない?

Mike Chambersがもっと細かいスライドをもってるから、ダウンロードしてみてよ。きっと疑問を解消してくれるよ。

これってもうiPhone用のFlashはつくらないってこと?

もちろんそんなことはないよ。これからもFlash PlayerをiPhoneにのせるよう努力するよ。でもそうするにはAppleの協力が必要なんだよね。

Lee

Symfony と WordPressの連携の際に重なってしまう関数

Symfony と WordPressの連携の際に重なってしまう関数として esc_js()がある。

Symfonyのコアファイルのlib/helper/EscapingHelper.phpで定義されている。

これをdefine(‘ESC_JS’, ‘esc_js’);とともにコメントアウトしてしまえば大丈夫なのだけど、こうするとコアファイルをいじることになるので、アップグレードの時に面倒になる。

ほんとはコアファイルに手をいれずに変更できればいいのだけど、EscapingHelper.phpの読み込みはlib/view/sfPHPView.class.phpの44行目あたりの

    $helpers = array_unique(array_merge(array('Helper', 'Url', 'Asset', 'Tag', 'Escaping'), sfConfig::get('sf_standard_helpers')));

で指定されていて、settings.ymlのstandard_helpersで指定しても追加されるだけになってしまう。

と思いきやlib/config/sfApplicationConfiguration.class.phpをみるとgetHelperDirsでhelperを読み込むディレクトリをとってきてる。というわけでプロジェクトディレクトリのapps/front/lib/helper/にEscapingHelper.phpをコピーして該当行をコメントアウトすることで対応できた。

ただ、このファイルがバージョンアップしたときには、ここにコピーし直して同じ作業を擦る必要があるので注意しておかないとまずそう。