先日担当者の方に言われて気がついた名古屋デザイナー学院Webサイトの表示上の不具合。Flashでの表示が問題だったんですがその解決法をメモとして記事にします。
使ったアプリケーションはAdobe Catalyst。さて、その表示上の不具合とは・・・。下記画像をご覧ください。

何かがおかしい
担当者の方からこの画像が送られてきた時何がおかしいのかしばらく悩んだのですが、よーく見ると右のFlashの表示、ほんの少しDivのブロックからはみ出しています。しかしこの現象僕のSafariでは起きていない、、、なぜ?と思って他の環境でも試してみてやっと原因が分かりました。
はみ出してしまう原因
その原因とはブラウザのコンテンツ拡大縮小機能。今や一般的になりましたが昔は拡大縮小と言うとテキスト部分のみでした。まさかこれが仇になるとは・・・(ちなみに僕のSafariはその機能をテキストに限定しているため起きませんでした)
Flashは絵でもテキストでも無いためこの機能に対応する為にはActionScriptに書いてあげないとダメなんですがなんとCatalystにはASを書く場所もその設定画面も無い・・・。これではこの機能についていくことができません。調べまくった結果、やはり海外フォーラムに答えが。
解決法
解決方法は一つ、Flash Builderを使ってコードを書き直しそこでリリースビルドすると言うもの。
手順は以下の通り
- Catalystでパブリッシュ直前まで完成させる
- 保存したFXPファイルをBuilderで開く(ドラッグでは開きません)
- 左側のライブラリ一覧からsrc内のMain.mxmlを探して開く
- コード2行目『<s:Application 』にある縦横サイズを削除
- 変わりに『preinitialize=”systemManager.stage.scaleMode=’showAll’”』と記載
- エクスポートからリリースビルドを選んで完成。
- 既存のSWFファイルに上書き・アップロード
以上。これで拡大縮小機能にも対応したFlashを書き出す事が可能です。
このアプリまだまだ荒削りなところがあるので仕方が無いと思っていますが別のアプリを使わないと基本的な部分が触れないのは結構致命的。Flashを表示する上での設定画面ぐらいはあって欲しいところ。CS6ではこの辺りどこまで改善されるのでしょうか。





