Flash Liteのまとめと今後

1フレーム目に決まって記述するスクリプト Flash Lite 1.1の制作をする際に、1フレーム目に決まって記述するスクリプトがあります。初期化処理と考えてもらえると分かりやすいと思います。 fscommand2("FullScreen", true);fscommand2("SetQuality

古本 光司

2008年10月29日 20:00

1フレーム目に決まって記述するスクリプト

 Flash Lite 1.1の制作をする際に、1フレーム目に決まって記述するスクリプトがあります。初期化処理と考えてもらえると分かりやすいと思います。

fscommand2("FullScreen", true);
fscommand2("SetQuality", "high");
_focusrect = false;

 1行目の「fscommand2("FullScreen", true);」は、コンテンツの表示領域を全画面に表示させます。携帯で閲覧した場合、基本的には全画面で表示されることとなるのですが、Adobeで配布されているCDKのサンプルにも、同様に記述されているため合わせて記述する傾向が強まっています。

 2行目の「fscommand2("SetQuality", "high");」はアニメーションのレンダリング画質の設定となります。「high/medium/low」と3段階あります。画質を高くすると負荷も大きくなってしまうため、アニメーションの多いコンテンツなどは「medium」に設定した方がスムーズに動作する時もあります。

 3行目の「_focusrect = false;」はボタンフォーカスの設定です。Flash Liteの場合は基本的にマウスが存在しません。そのため上下でステージに配置しているボタンを選択できるようになっているのですが、ボタンが選択された時、ボタンの周りに黄色の枠線が表示されます。

 しかし、大抵はボタンシンボルでオーバーの描画を行う場合が多く、黄色の枠線の表示がなくても選択しているボタンが認識できるため、フォーカス表示が不要となるケースがあります。もし、フォーカス表示が必要であれば、スクリプトを削除するか「false」に設定しておきましょう。

外部通信について

 Flash Liteコンテンツで外部通信を行う際には、キーやボタンのイベントを取得した時のみ外部通信が可能という制限があります。これは、ユーザーが知らない間にパケット受信(課金)をさせないようにしているためです。

 対象となるメソッドは、getURL()、loadMovie()、loadVariables()等の関数になります。これらの関数を使用する場合は、onハンドラ内に記述する必要があります。

on (press){
getURL("http://www.thinkit.co.jp/");
}

 また、その時に実行できる通信処理は1つとなりますので、2つ記述することができません。

on (press){
loadMovie("a.swf");
loadMovie("b.swf");}

 loadMovie()についてですが、Flash Lite 1.1はFlash 4に準拠していますので、画像データは読み込むことができません。swfファイルのみ読み込み可能となります。

 また、図1のようにloadVariables()でPHPやCGIなどと連携して、返り値を取得することもできます(詳細は割愛)。サンプルファイルを用意したのでこちらからダウンロード(http://www.thinkit.co.jp/images/article/144/5/14451.zip)をしてください(14451.zip/17.4 KB)。このサンプルでは、loadVariables()を使用する際の注意点をピックアップして解説しています。

 まず、1つ目の注意点として、loadVariables()を使用する時にHTTPメソッドを指定する場合は、auとSoftBankの一部機種ではPOST通信ができないものがあるため、特に理由がない限り「GET」通信をおすすめします。

on (press) {
loadVariables("db.php", _root, "GET");
}

 そして、図1の「(3)PHP処理」で注意してほしいのは、ヘッダーの出力を行わないと、auでは正常に返り値が返ってきません。

 そのほか、loadVariables()で外部テキストを読み込むことも可能です。ただし、XML形式には対応していませんので、下記のような記述をします。

変数1=値1&変数2=値2&変数3=値3&……%loadEnd=1

 上記の「loadEnd」の変数は、Flash Lite 1.1ではダウンロードの進行状況が把握できないため、外部テキスト読み込み後にループ処理などを行い、「loadEnd」が1になったらダウンロード完了という処理を行います。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30