Comments
Description
Transcript
PDF 版のダウンロード
FLASH LITE 1.x アプリケーションの開発 ® ™ © 2008 Adobe Systems Incorporated. All rights reserved. Adobe® Flash® Lite™ 1.x アプリケーションの開発 マニュアルがエンドユーザー使用許諾契約を含むソフトウェアと共に提供される場合、マニュアルおよびその中に記載されているソフトウェアは、エンドユーザー使用許 諾契約にもとづいて提供されるものであり、当該エンドユーザー使用許諾契約の契約条件に従ってのみ使用または複製することが可能となるものです。当該エンドユー ザー使用許諾契約により許可されている場合を除き、マニュアルのいかなる部分といえども、Adobe Systems Incorporated ( アドビ システムズ社 ) の書面による事前の許 可なしに、電子的、機械的、録音、その他いかなる形式・手段であれ、複製、検索システムへの保存、または伝送を行うことはできません。マニュアルの内容は、エンド ユーザー使用許諾契約を含むソフトウェアと共に提供されていない場合であっても、著作権法により保護されていることにご留意ください。 マニュアルに記載される内容は、あくまでも参照用としてのみ使用されること、また、なんら予告なしに変更されることを条件として、提供されるものであり、従って、 当該情報が、アドビ システムズ社による確約として解釈されてはなりません。アドビ システムズ社は、マニュアルにおけるいかなる誤りまたは不正確な記述に対しても、 いかなる義務や責任を負うものではありません。 新しいアートワークを創作するためにテンプレートとして取り込もうとする既存のアートワークまたは画像は、著作憲法により保護されている可能性のあるものであるこ とをご留意ください。保護されているアートワークまたは画像を新しいアートワークに許可なく取り込んだ場合、著作権者の権利を侵害することがあります。従って、著 作権者から必要なすべての許可を必ず取得してください。 例として使用されている会社名は、実在の会社・組織を示すものではありません。 Adobe, the Adobe logo, Creative Suite, Dreamweaver, Flash, and Flash Lite are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Windows is either a registered trademark or a trademark of Microsoft Corporation in the United States and/or other countries. Macintosh is a trademark of Apple Inc., registered in the United States and other countries. Symbian and all Symbian based marks and logos are trademarks of Symbian Limited. All other trademarks are the property of their respective owners. Sorenson Spark™ video compression and decompression technology licensed from Sorenson Media, Inc. MPEG Layer-3 audio compression technology licensed by Fraunhofer IIS and Thomson Multimedia (http://www.iis.fhg.de/amm/). Portions licensed from Nellymoser, Inc. (www.nellymoser.com). Adobe Flash 9.2 video is powered by On2 TrueMotion video technology. © 1992-2005 On2 Technologies, Inc. All Rights Reserved. http://www.on2.com. Updated Information/Additional Third Party Code Information available at http://www.adobe.com/go/thirdparty/. Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA. Notice to U.S. Government End Users. The Software and Documentation are “Commercial Items,” as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §§227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference. iii 目次 第 1 章:はじめに Flash Lite オーサリングの新しい機能 ヘルプメディアについて 他の情報源 表記規則 ....................................................................................... 1 ................................................................................................... 1 .............................................................................................................. 1 ................................................................................................................. 2 第 2 章:Flash Lite の概要 Flash Lite テクノロジーについて Flash Lite 1.x の対応状況 ........................................................................................... 3 .................................................................................................. 3 Flash Lite コンテンツタイプについて ....................................................................................... 4 Flash Lite アプリケーションのオーサリングワークフロー Flash Lite のオーサリング機能 ..................................................................... 4 ............................................................................................. 5 Hello World Flash Lite アプリケーション ................................................................................... 6 スタンドアローン Flash Lite プレーヤーについて ............................................................................. 7 第 3 章:Flash Lite アプリケーションの作成 カフェアプリケーションの概要 ............................................................................................. 8 完成版アプリケーションの表示 ............................................................................................. 9 アプリケーションの作成 ................................................................................................... 9 第 4 章:インタラクティブ機能とナビゲーション機能の作成 Flash Lite でサポートされているキー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Flash Lite におけるタブナビゲーションの使用 キーイベントの処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 ボタンイベントの処理 ソフトキーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 第 5 章:テキストとフォントの操作 Flash Lite のテキストについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 テキスト入力フィールドの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Flash Lite でのフォントのレンダリング方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Flash Lite のレンダリング品質とアンチエイリアス処理されたテキスト SWF ファイルへのフォントアウトラインの埋め込み テキストフィールドのサンプルアプリケーション スクロールテキストの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 第 6 章:サウンドの操作 Flash Lite のサウンドについて デバイスサウンドの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Flash ネイティブサウンドの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 FLASH LITE 1.X および 3.0 アプリケーションの開発 iv 目次 第 7 章:パフォーマンスとファイルサイズを改善するためのコンテンツの最適化 パフォーマンスの最適化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 第 8 章:Flash Lite コンテンツのプレビュー Flash Lite のプレビュー機能の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 エミュレータでサポートされていないプレビュー機能 エミュレータの使用 Flash Lite コンテンツタイプ エラー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 プラットフォーム機能の決定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 第 9 章:Flash Lite 1.x ActionScript の学習 Flash Lite 1.x ActionScript について Flash 4 ActionScript 入門 一般的なスクリプティング作業 索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 1 第 1 章:はじめに 本マニュアルでは、アドビ システムズ社の Macromedia® Flash® Lite™ 1.0 および Macromedia® Flash® Lite™ 1.1 ソフト ウェア ( まとめて Flash Lite 1.x と呼びます ) を使用して、モバイルデバイス向けのアプリケーションを開発する方法につい て説明します。本マニュアルでは、デバイスの機種およびテキストやフォントの操作方法に応じて、さまざまなナビゲー ションモードを使用する方法について説明します。本マニュアルでは、さまざまな機種の携帯電話で動作する Flash Lite ア プリケーションのランタイムメモリを管理する方法についても説明します。Adobe® Flash® CS4 Professional に搭載されて いるモバイルエミュレータである、Adobe® Device Central CS4 を使用すると、実際のデバイスでテストする前に、アプリ ケーションをオーサリングツールでテストおよびデバッグできます。 Flash Lite オーサリングの新しい機能 Flash には、Flash Lite アプリケーションの開発を支援するための次のような機能が含まれています。 Adobe Device Central Adobe Device Central には、コンテンツが実際のデバイスでどのように機能するかをプレ ビューできるモバイルエミュレータがあります。エミュレータは、対応機種の機能を反映して自動的に設定されます。エ ミュレータによるデバッグ情報に基づいて、対応機種の非互換性などの問題を事前に知ることもできます。 デバイスドキュメントテンプレート Flash に付属しているドキュメントテンプレートを使用すると、特定のデバイスおよび コンテンツタイプに応じたコンテンツの作成を簡単に開始できます。 ヘルプメディアについて Flash Lite マニュアルパッケージには、Flash Lite アプリケーションの作成に役立つ次のメディアが含まれています。 • 『Flash Lite 1.x アプリケーションの開発』は Flash Lite 1.x コンテンツの作成に関する総合的なガイドで、Flash Lite 1.x アプリケーションの作成手順を説明するチュートリアルと Adobe Device Central エミュレータでアプリケーション をテストする手順についての説明が含まれています。 • 『Flash Lite 1.x ActionScript リファレンスガイド』には、Flash Lite デベロッパーが使用可能なすべての ActionScript 言語機能の説明とサンプルコードが含まれています。 • www.adobe.com/go/learn_flt_samples_and_tutorials にある Flash Lite サンプルアプリケーションは、マニュアルで 説明されている主な概念およびベストプラクティスを示しています。 他の情報源 Flash Lite アプリケーション開発の最新情報、アドバンスドユーザーからのアドバイス、高度なトピック、サンプル、ヒン ト、その他の更新情報については、モバイル & デバイスデベロッパーセンター (www.adobe.com/go/developer_flashlite) を参照してください。 テクニカルノート、マニュアルの更新情報、および Flash Lite デベロッパーコミュニティ内の追加情報へのリンクについて は、Adobe Flash Lite サポートセンター (www.adobe.com/go/support_flashlite) を参照してください。 FLASH LITE 1.X および 3.0 アプリケーションの開発 2 はじめに 表記規則 本マニュアルでは、次の表記規則を使用しています。 • Italic font ( イタリック体のフォント ) は、置き換える必要がある値 ( フォルダパス内の値など ) を示します。 • Code font ( コードフォント ) は ActionScript コードを示します。 • Bold font ( ボールドフォント ) は逐語的な入力を示します。 • サンプルコードの二重引用符 ("") は区切られた文字列を示します。ただし、プログラマは単一引用符を使用することもで きます。 3 第 2 章:Flash Lite の概要 アドビ システムズ社の Macromedia Flash Lite は、モバイルデバイス用に設計された Adobe Flash Player のバージョンで す。 Flash Lite テクノロジーについて アドビ システムズ社の Macromedia Flash Lite は、モバイルデバイス用に設計された Adobe Flash Player のバージョンで す。Flash の機能と今日の大衆市場のモバイルデバイスの処理能力と構成の間でバランスを取っています。このガイドは、 Flash Lite 1、Flash Lite 1.0、Flash Lite 1.1 の 2 つのバージョン ( 総称して Flash Lite 1.x) に適用されます。Flash Lite 1.x は次の機能で構成されています。 コアレンダリングエンジン レンダリングエンジンによりすべてのベクトルとビットマップのレンダリングが処理されま す。 ActionScript インタプリタ Flash Lite では、デバイスからの時間と日付情報の取得など、多くのモバイルデバイス固有の コマンドをはじめとするアドビ システムズ社の Macromedia® Flash® Player 4 に使われるバージョンの ActionScript 言語 をサポートしています。Flash Lite 固有のプロパティを備えた Flash Player 4 の ActionScript とコマンドのこのハイブリッ ドを総称して Flash Lite 1.x ActionScript と呼びます。 Flash Lite 1.x ActionScript の詳細については、『Flash Lite 1.x ActionScript リファレンスガイド』を参照してください。 テキストとフォント Flash Lite では、静的テキストフィールド、動的テキストフィールド、およびテキスト入力フィール ドをサポートしています。デバイスで利用できるフォントを使用したり、パブリッシュする SWF ファイルにフォントデー タを埋め込むことができます。Flash Lite におけるテキストとフォントの使用の詳細については、37 ページの「テキストと フォントの操作」を参照してください。 Sound Flash Lite 1.0 と Flash Lite 1.1 では、デバイスのオーディオ形式(MIDI や MFi など)をサポートしています。 Flash Lite 1.1 は、標準 Flash オーディオもサポートしています。Flash Lite におけるサウンドの操作の詳細については、49 ページの「サウンドの操作」を参照してください。 ネットワーク接続 Flash Lite 1.1 では、接続と HTTP 要求のステータス情報を取得するコマンドとプロパティに加えて、外 部データと SWF ファイルをロードする機能をサポートしています。 デバイスとプラットフォームの統合 Flash Lite では、電話とショートメッセージサービス(SMS)メッセージの発信機能、 プラットフォーム機能情報の取得機能、デバイスの標準入力ダイアログボックスを使用してユーザ入力を取得する機能など、 いくつかのシステム機能とコマンドにアクセスできます。 Flash Lite 1.x の対応状況 Flash Lite 1.0 および Flash Lite 1.1 は、さまざまな地域と市場で販売されている各種モバイルデバイスでサポートされてい ます。これらのデバイスには、世界的に販売されているものと、特定の地域のみで販売されているものや特定の携帯電話事 業者により販売されているものがあります。一部のデバイスには、デバイスの製造元または携帯電話事業者により Flash Lite があらかじめインストールされています。一部のデバイスには、購入後にインストールできます。 現在 Flash Lite をサポートするデバイスの一覧については、www.adobe.com/go/mobile_supported_devices の「Flash Lite サポート対象の携帯デバイス」を参照してください。 世界的に販売される Flash Lite の対応デバイスには、Nokia、Sendo、および Seimens の Symbian Series 60 ベースのデ バイスと、Sony-Ericcson の Symbian UIQ ベースのデバイスがあります。本マニュアルの作成時点では、世界的に販売さ FLASH LITE 1.X および 3.0 アプリケーションの開発 4 Flash Lite の概要 れるすべてのデバイスによりサポートされるのは、スタンドアローン Flash Lite プレーヤーのみです。スタンドアローンプ レーヤーは、ユーザがデバイスのアプリケーションメニューから起動できる「トップレベル」アプリケーション(テキスト メッセージアプリケーションやモバイル Web ブラウザなどと同様のもの)としてインストールされます。スタンドアロー ン Flash Lite プレーヤーの詳細については、7 ページの「スタンドアローン Flash Lite プレーヤーについて」を参照してく ださい。 本マニュアルの作成時点では、スタンドアローン Flash Lite プレーヤーは世界的に販売されるデバイスにあらかじめインス トールされていません。スタンドアローンプレーヤーは、Adobe オンラインストア(www.adobe.com/go/store)から開 発目的で購入することができます。 各国で販売される Flash Lite の対応デバイスには、世界的に販売される対応デバイスよりも多くのデバイスが含まれます。 本マニュアルの作成時点では、主に日本で Flash Lite をあらかじめインストールしたデバイスが販売されています。これら のデバイスでは、Flash Lite により、Flash スクリーンセーバーや着信アニメーションなどの各種のコンテンツが可能になり ます。Flash Lite コンテンツタイプの詳細については、4 ページの「Flash Lite コンテンツタイプについて」を参照してくだ さい。 Flash Lite コンテンツタイプについて Flash Lite アプリケーションを開発する前に、次のことを理解しておく必要があります。 • コンテンツが実行されるデバイス、またはターゲットデバイス。Flash Lite プレーヤーはさまざまなデバイスにインス トールされています。Flash Lite がインストールされているデバイスの一覧については、アドビ システムズ社の Web サ イト(http://www.adobe.com/jp/mobile/supported_devices/handsets.html)の「Flash サポート対象の携帯デバイ ス」を参照してください。 • ターゲットデバイスでサポートされている Flash Lite コンテンツタイプ。Flash Lite のインストールごとに、1 つ以上の アプリケーションまたはコンテンツタイプがサポートされます。たとえば、一部のデバイスでは Flash Lite を使用して、 Flash ベースのスクリーンセーバーやアニメーション化された着信音を有効にします。モバイル Web ページに埋め込ま れた Flash コンテンツをレンダリングするデバイスもあります。すべてのコンテンツタイプが Flash Lite のすべての機能 をサポートしているわけではありません。 Flash Lite コンテンツタイプと特定のデバイスとの組み合わせごとに、アプリケーションで利用できる特定の Flash Lite の 機能が定義されます。たとえば、スクリーンセーバーとして実行される Flash アプリケーションでは、通常、ネットワーク への接続やデータのダウンロードはできません。 Flash の Flash Lite テスト機能によって、複数のデバイスおよび複数の Flash Lite コンテンツタイプでのテストを実行でき ます。これにより、開発しているアプリケーションが、コンテンツタイプで利用できない機能を使用しているかどうかを調 べることができます。ターゲットデバイスとコンテンツタイプの選択については、58 ページの「Flash Lite コンテンツのプ レビュー」を参照してください。 Flash Lite アプリケーションのオーサリングワークフロー Flash Lite コンテンツの作成は繰り返し行われるプロセスであり、次の手順が含まれます。 ターゲットデバイスと Flash Lite コンテンツタイプの識別 デバイスが異なると、特に画面サイズやサポートするオーディ オ形式、画面の色深度が異なります。これらの要素は、アプリケーションの設計や実装に影響する場合があります。 さらに、デバイスが異なると、スクリーンセーバー、スタンドアローンアプリケーションあるいはアニメーション化した着 信音など、サポートする Flash Lite コンテンツタイプも異なります。作成するコンテンツタイプによって、アプリケーショ ンで利用できる機能も決まります。Flash Lite コンテンツタイプの詳細については、4 ページの「Flash Lite コンテンツタイ プについて」を参照してください。 FLASH LITE 1.X および 3.0 アプリケーションの開発 5 Flash Lite の概要 Flash でのアプリケーションの作成およびテスト Adobe Flash CS4 Professional には Adobe Device Central CS4 のエ ミュレータが含まれており、デバイスに転送しなくてもアプリケーションをテストできます。エミュレータを使用してアプ リケーションの設計を微調整し、モバイルデバイスでテストする前に問題を解決できます。 ターゲットデバイスでのアプリケーションのテスト エミュレータでは、ターゲットデバイスのすべての側面をエミュレート できるわけではないので、この手順は重要です。たとえば、エミュレータでは滑らかに表示されたグラデーションカラーが、 実際のデバイスでは帯状に表示される場合があります。デバイスでアプリケーションをテストした後、Flash オーサリング ツールでアプリケーションの設計を調整する必要がある場合があります。 次の図は、このように繰り返し行われる開発とテストのプロセスを表します。 A B C A. Adobe Flash における FLA ファイルの編集 B. Adobe Device Central エミュレータでのテスト C. デバイスでのテスト Flash Lite のオーサリング機能 この節では、Flash Lite 開発者のために特別に設計された Flash 機能について説明します。デバイスのテンプレート機能を 除いて、次の機能は、パブリッシュ設定ダイアログボックスの「Flash」タブのドキュメントの「バージョン」設定が Flash Lite 1.0 か Flash Lite 1.1 に設定されている場合にのみ使用できます。ドキュメントの SWF バージョンの指定方法について は、Flash ヘルプの「Flash SWF ファイル形式のパブリッシュオプションの設定」を参照してください。 Adobe Device Central を使用すれば、コンテンツが実際のデバイスでどのように実行、表示されるかをテストできま す。さらに、別のテストデバイスを選択したり、アプリケーションの情報を表示したり、エミュレータのデバッグ出力オプ ションを設定したりすることができます。デバイスによって、サポートされるメディアタイプ(各種デバイスサウンド形式 など)、およびスタンドアローンプレーヤー、スクリーンセーバー、またはブラウザなどの Flash Lite コンテンツタイプが異 FLASH LITE 1.X および 3.0 アプリケーションの開発 6 Flash Lite の概要 なります。アプリケーションをプレビューすると、エミュレータにより、選択されたコンテンツタイプを実行するときに選 択されたテストデバイスで利用できる機能がエミュレートされます。 Flash Lite コンテンツタイプの詳細については、4 ページの「Flash Lite コンテンツタイプについて」を参照してください。 プロパティインスペクタ には、現在のデバイス設定に関する情報を示すセクションと、デバイス設定ダイアログボックスを 開くボタンが含まれます。このボタンは、パブリッシュ設定ダイアログボックスの「Flash」タブのドキュメントの「バー ジョン」設定が Flash Lite 1.0 か Flash Lite 1.1 に設定されている場合にのみアクティブになります。 A B A. デバイス設定ボタン B. 現在のコンテンツタイプとテストデバイス Hello World Flash Lite アプリケーション この節では、簡単な Flash Lite アプリケーションを作成し、Adobe Device Central エミュレータでテストします。この チュートリアルの目的は、Adobe Flash CS4 Professional のモバイルデバイス用のオーサリング機能やテスト機能、および Flash Lite コンテンツ作成の一般的なワークフローについて理解することです。さらに完成されたサンプルアプリケーショ ンについては、8 ページの「Flash Lite アプリケーションの作成」を参照してください。 最初に、ターゲットとするデバイスおよび Flash Lite コンテンツタイプを決定する必要があります。このチュートリアルで は、Nokia の Series 60 デバイスの Flash Lite 1.1 スタンドアローンプレーヤー用のコンテンツを作成していると仮定しま す。サポートされるすべての Nokia Series 60 デバイスでは、同じステージサイズ(176 x 208 ピクセル)が利用できるた め、論理的にはこれらすべてのデバイスで同じアプリケーション(SWF ファイル)を実行できます。 開発を始めるには、最初にターゲットデバイスとコンテンツタイプに対して Flash ドキュメントのパブリッシュ設定、ド キュメント設定、およびデバイス設定を設定する必要があります。これは、空白ドキュメントを使用して手動で実行するか、 Flash Lite テンプレートを使用して、ターゲットデバイスとコンテンツタイプに適した設定の新しいドキュメントを作成で きます。シンプルな Hello World アプリケーションの作成方法を次に示します。 簡単な Flash Lite アプリケーションを設定および作成するには : 1 Flash を起動します。 2 Flash のメイン画面で、新規作成/ Flash モバイルドキュメントを選択します。Adobe Device Central が開き、 「新規作 成ドキュメント」タブが表示されます。 3 Device Central で、「Player のバージョン」ボックスから「FlashLite 1.1」、「ActionScript のバージョン」ボックスか ら「ActionScript 2.0」、「コンテンツタイプ」ボックスから「スタンドアローンプレーヤー」を選択します。 4 画面一番下の「選択されたすべてのデバイスのカスタムサイズ」をクリックします。これでスタンドアローン Flash Lite プレーヤーのコンテンツを作成できます。 5 「作成」をクリックします。これで Flash に戻り、パブリッシュ設定がプリセットされ、デバイスを指定した場合は、選 択したデバイスに合った正しいサイズの新規ドキュメントが作成されます。 6 ツールパネルでテキストツールを選択し、ステージ上をドラッグしてテキストボックスを作成します。 「Hello, world!」(または他のテキスト)をテキストボックスに入力します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 7 Flash Lite の概要 7 制御/ムービープレビューを選択して、アプリケーションを Device Central に書き出し、Device Central エミュレータ 上に表示します。 注意:Device Central でのテスト中に、デバイスとコンテンツタイプを変更して、さまざまなプラットフォームでのア プリケーションの動作を確認することができます。これを行うには、使用可能なデバイスパネルでデバイスをダブルク リックして、「コンテンツタイプ」から新しいコンテンツタイプを選択します。エミュレータで最後に使用した設定は、 Flash に戻っても維持されます。 8 Flash に戻るには、ファイル/ Flash に戻るを選択します。 制御/ムービープレビューを選択して Adobe Device Central エミュレータでアプリケーションを表示します。 スタンドアローン Flash Lite プレーヤーについて スタンドアローン Flash Lite 1.1 プレーヤーは、デバイスのメモリカードに保存されている SWF ファイルや、デバイスのモ バイル Web ブラウザに追加された SWF ファイル、または Bluetooth® ワイヤレステクノロジーや赤外線接続ワイヤレステ クノロジーを使ってデバイスのメッセージ受信ボックスで受け取った SWF ファイルを開いて表示することが可能なアプリ ケーションです。 本マニュアルの作成時点では、世界的に次のプラットフォームとデバイスのスタンドアローンプレーヤーが入手可能です。 Series 60 プラットフォーム: • Nokia 3600、3620、3650、3660、6260、6600、6620、6630、6670、6680、6681、7610、N-Gage、N-Gage QD • Sendo X • Siemens SX1 UIQ プラットフォーム: • Sony Ericsson P900、P910 開発者の方は、これらのサポート対象デバイス向けスタンドアローン Flash Lite 1.1 プレーヤーを Adobe オンラインストア (www.adobe.com/go/store)から購入できます。スタンドアローンプレーヤーの購入に関するよくある質問については、 Flash Lite 1.1 FAQ(www.adobe.com/go/flt_faqs)を参照してください。プレーヤーのインストールについては、 TechNote 4632f5aa(www.adobe.com/go/4632f5aa)を参照してください。 8 第 3 章:Flash Lite アプリケーションの作成 この節では、Café Townsend という架空のレストランを想定したプロモーション用 Adobe Flash Lite アプリケーションの 開発を説明します。ユーザーは、このレストランのおすすめ料理のリストを表示したり、レストランに電話をかけて予約す ることができます。 カフェアプリケーションの概要 カフェアプリケーションの初期画面には、レストランやメニューについての紹介文と、「Specials」および「Reservations」 の 2 つのオプションがあります。ユーザーは、デバイス上の上向き矢印キーと下向き矢印キーを押してフォーカスを設定し、 選択キーを押して選択内容を確定することによって、メニューアイテムを選択します。 カフェアプリケーションのメイン画面 「Specials」メニューオプションを選択すると、本日のおすすめ料理のリストをナビゲートするための画面が表示されます。 おすすめ料理のイメージと説明を参照するには、デバイスの右ソフトキー(ラベルは「Next」)を押します。メインアプリ ケーションに戻るには、左ソフトキー(ラベルは「Home」)を押します。 カフェアプリケーションのおすすめ料理画面 メイン画面で「Reservations」メニューオプションを選択すると、アプリケーションからレストランに電話をかけることが できます。Flash Lite では、入力された番号がダイヤルされる前に、電話をかけてよいかどうかを確認するメッセージが表 示されます。 FLASH LITE 1.X および 3.0 アプリケーションの開発 9 Flash Lite アプリケーションの作成 完成版アプリケーションの表示 カフェアプリケーションの完成版は Flash と共にインストールされます。完成版アプリケーションは Device Central で表示 できます。また、モバイルデバイスにスタンドアローンバージョンの Flash Lite 1.1 をインストールしている場合は、SWF ファイルをデバイスに転送してデバイスで表示することもできます。 完成したアプリケーションを Adobe Device Central で表示するには: 1 Flash で、www.adobe.com/go/learn_flt_samples_and_tutorials にある cafe_tutorial_complete.fla という名前の ファイルを開きます。サンプルとチュートリアルのページで、Flash Lite バージョンの .zip ファイルを探してダウンロー ドおよび解凍し、"Tutorial Assets" フォルダを選択してファイルにアクセスします。 2 制御/ムービープレビューを選択して、アプリケーションをエミュレータで起動します。 3 アプリケーションを操作するには、次の操作を行います。 • メイン画面で、エミュレータ上の下向き矢印キーをクリックして、「Specials」メニューアイテムを選択します。次 に、エミュレータの選択キーをクリックして、おすすめ料理の画面を表示します。 • おすすめ料理の画面で、エミュレータの右ソフトキー(「Next」)をクリックして、各おすすめ料理のイメージと説明 を表示します。左ソフトキー(「Home」)をクリックして、メイン画面に戻ります。 • メイン画面で、「Reservations」メニューアイテムを選択すると、レストランに電話をかけることができます。 アプリケーションの作成 このセクションでは、カフェアプリケーションの作成方法を示す手順について説明します。このチュートリアルは、次の 3 つの部分に分かれています。 • テストデバイスとコンテンツタイプの選択この節では、Flash ドキュメントのパブリッシュ設定、ドキュメント設定およ びデバイス設定を構成します。 • アプリケーションのメイン画面のメニューの作成。この画面では、簡単なメニューからその日のおすすめ料理のイメージ と説明を表示したり、レストランに電話をかけて予約を取ったりすることができます。 • おすすめ料理の画面の作成。この画面では、デバイスの左ソフトキーを押して各おすすめランチのイメージと説明を切り 替えたり、右ソフトキーを押してメイン画面に戻ったりすることができます。 テストデバイスとコンテンツタイプの選択 Device Central を使用して、ターゲットにするデバイスとコンテンツタイプを選択します。Adobe Device Central エミュ レータでアプリケーションテストを実施する場合、ターゲットデバイス上の Player の設定およびコンテンツタイプに一致す るようエミュレータが自動設定されます。 これらの設定は、Flash モバイルドキュメントを初めて作成するときに指定します。新しいドキュメントを最初から作成す る方法については、6 ページの「Hello World Flash Lite アプリケーション」を参照してください。 メイン画面のメニューの作成 この節では、アプリケーションのメイン画面に表示されるメニューを作成します。メニューには「Specials」と 「Reservations」という 2 つのオプションが設定されます。「Specials」オプションを選択すると、新しい画面が開き、カ フェのおすすめ料理のイメージと説明が表示されます。「Reservations」オプションを選択すると、アプリケーションから レストランに電話をかけて予約を入れることができます。 FLASH LITE 1.X および 3.0 アプリケーションの開発 10 Flash Lite アプリケーションの作成 メニューは、アップ、オーバーおよびダウンの各状態を定義する、標準の Flash ボタンで構成されます。いずれかのボタン にフォーカスを合わせるには、デバイス上の上向き矢印キーまたは下向き矢印キーを押します。フォーカスの合わされたボ タンは、オーバー状態で表示されます。ユーザーがデバイスの選択キーを押すと、フォーカスの合わされたボタンによって ボタン押し下げイベントが生成されます。このデフォルトのタブナビゲーションによって、Flash Lite アプリケーション向け のシンプルなユーザーインターフェイスを容易に作成できます。タブナビゲーションの使用法について詳しくは、「19 ペー ジの「Flash Lite におけるタブナビゲーションの使用」」を参照してください。 メイン画面のメニューを作成するには: 1 前の節で保存したファイルを Flash で開きます(「9 ページの「テストデバイスとコンテンツタイプの選択」」を参照して ください)。 2 タイムラインウィンドウで(ウィンドウ/タイムライン)、Menu レイヤーのフレーム 1 を選択します。 3 メニューを作成するには、ライブラリパネルを開き(ウィンドウ/ライブラリ)、Specials ボタンシンボルのインスタン スをステージにドラッグします。 レストランを紹介している ( 既存の ) テキストフィールドの下にボタンを配置します。 4 次の図に示すように、Reservations という名前のボタンシンボルのインスタンスをステージにドラッグし、「Specials」 ボタンの下に配置します。 5 「Specials」ボタンを選択して、アクションパネルを開きます(ウィンドウ/アクション)。 6 アクションパネルに次のコードを追加します。 on(press) { gotoAndStop("specials"); } このイベントハンドラコードを実行すると、ユーザーがこのボタンを選択したときに、specials というラベルのフレーム まで再生ヘッドが送られます。次の節では、このフレームのコンテンツを作成します(「11 ページの「おすすめ料理の画 面の作成」」を参照してください)。 7 ステージ上で、「Reservations」ボタンを選択して、アクションパネルを再び開きます。 8 アクションパネルに次のコードを入力します。 on(press) { getURL("tel:1-415-555-1212"); } ユーザーが「Reservations」メニューアイテムを選択すると、指定した電話番号への通話が開始されます。Flash Lite で は、番号をダイヤルするための SWF ファイルからの要求を許可するか、拒否するかどうかを確認するメッセージが必ず 表示されます。詳しくは、「74 ページの「通話の開始」」を参照してください。 9 タイムラインで、Actions レイヤー上のフレーム 1 を選択します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 11 Flash Lite アプリケーションの作成 10 アクションパネルを開き、次のコードを入力します。 stop(); _focusRect = false; fscommand2("resetsoftkeys"); fscommand2("setquality", "high"); fscommand2("fullscreen", "true"); このコードは次の機能を果たします。 • 再生ヘッドをこのフレームで停止します。 • 現在フォーカスのある黄色いボタンまたはテキスト入力フィールドの周囲に、デフォルト設定によって描かれる フォーカス矩形を無効にします(「20 ページの「フォーカス矩形について」」を参照してください)。 • ソフトキーをデフォルトの状態にリセットします(このチュートリアルの後の節で、アプリケーションによって使用 されるソフトキーを登録するコードを追加します)。 • プレーヤーのレンダリング品質を高に設定します。デフォルトでは、Flash Lite は中品質でグラフィックコンテンツ をレンダリングします。 • アプリケーションをフルスクリーンで表示するようにプレーヤーを設定します。 11 ここまでの作業内容をテストするには、制御/ムービープレビューを選択します。 12 エミュレータで、キーパッドの上向き矢印キーまたは下向き矢印キーをマウスでクリックして(またはコンピュータの キーボードの上向き矢印キーまたは下向き矢印キーを押して)、「Specials」ボタンにフォーカスを合わせます。 「Specials」ボタンアイテムにフォーカスが置かれると、ボタンのオーバー状態が表示されます。 13 エミュレータのキーパッドで選択キーをクリックして(またはキーボードの Enter キーを押して)、メニューアイテムを 選択します。 この時点のおすすめ料理画面には、何の機能も含まれていません。次の節では、インタラクティブ機能とアニメーション を追加して、おすすめ料理画面を作成します(「11 ページの「おすすめ料理の画面の作成」」を参照してください)。 おすすめ料理の画面の作成 この節では、各おすすめ料理のイメージや説明を表示するユーザーインターフェイスエレメントを作成します。おすすめ料 理画面は、次の部分で構成されています。 • 各おすすめ料理のイメージ間でトランジションを実行するアニメーション。 • 各おすすめ料理の名前と説明を表示する動的テキストフィールド。 • ユーザーが他のおすすめ料理を表示したり、メインアプリケーション画面に戻ったりできるようにするユーザーインター フェイスエレメント。 チュートリアルのこの節は、2 つの部分に分かれています。前半では、各おすすめ料理のイメージの間でトランジション を実行するアニメーションを作成します。後半では、ユーザーがイメージを切り替えたり、各おすすめ料理の名前や説明 を表示したりするためのユーザーインターフェイスエレメントおよび ActionScript を追加します。 イメージアニメーションの作成 この節では、各おすすめ料理のイメージの間でトランジションを実行するトゥイーンアニメーションを作成します。この節 の作業を終了すると、アニメーションは停止せずに最後まで再生されます。このチュートリアルの後半では、ナビゲーショ ンと、デバイスの右ソフトキーを使用してアニメーションの制御ができる ActionScript を追加します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 12 Flash Lite アプリケーションの作成 アニメーションを作成するために、すべてのおすすめ料理のイメージを縦 1 列に並べた、一部作成済みのムービークリップ を使用します。マスクレイヤーを使用して、1 つのイメージだけが表示されるようにします。次に、ムービークリップを上 に移動する一連のトゥイーンを作成し、別のイメージが表示されるようにします。ムービークリップの最後のイメージは最 初のイメージの複製で、ユーザーが最後のイメージを表示した後、アニメーションシーケンスを初期状態に戻すことができ るようにします。次の図に、これらの概念を示します。 A B C D A. マスクレイヤーオブジェクト B. マスクされたイメージのムービークリップ C. トゥイーンの方向 D. 複製されたイメージ チュートリアルの最後の節では、ユーザーがアニメーションシーケンスを制御できるようにする、ActionScript およびユー ザーインターフェイスエレメントを追加します。 イメージアニメーションを作成するには: 1 前の節で保存したファイルを開きます(「9 ページの「メイン画面のメニューの作成」」を参照してください)。 2 タイムラインで、Images という名前のレイヤー上のフレーム 10 のキーフレームを選択します。 3 ライブラリパネルを開き、Specials Images という名前のムービークリップシンボルをステージにドラッグします。 今後は、このムービークリップのことを単に「イメージムービークリップ」と呼ぶことにします。 4 選択した新しいムービークリップインスタンスを使って、ムービークリップの x 座標と y 座標をプロパティインスペクタ で 0 に設定します。 これにより、イメージムービークリップの左上隅とステージの左上隅が一致します。 5 次の図に示されているように、Images レイヤーでキーフレームをフレーム 20、30、40、50 に挿入します。 6 タイムラインで、フレーム 20 のキーフレームを選択します。 7 ステージでイメージムービークリップを選択し、その y 座標をプロパティインスペクタで 100 に設定します。 これによって、ムービークリップはステージ上で 100 ピクセル分、上に移動します。 8 タイムラインでフレーム 30 のキーフレームを選択し、次にイメージムービークリップを選択して、その y 座標をプロパ ティインスペクタで -200 に設定します。 9 フレーム 40 のキーフレームを選択し、次にイメージムービークリップを選択して、その y 座標をプロパティインスペク タで -300 に設定します。 10 フレーム 50 のキーフレームを選択し、次にイメージムービークリップを選択して、その y 座標をプロパティインスペク タで -400 に設定します。 11 フレーム 10 のキーフレームを選択し、プロパティインスペクタのトゥイーンポップアップメニューから「モーション」 を選択します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 13 Flash Lite アプリケーションの作成 これで、フレーム 10 と 20 のキーフレームの間にあるイメージムービークリップのトゥイーン処理が実行されます。 12 ほかのイメージの間にもトランジションを作成するには、フレーム 20、30 および 40 にあるキーフレームについて手順 11 を繰り返します。 13 マスクレイヤーを作成するには、タイムラインで Images レイヤーを選択し、挿入/タイムライン/新規レイヤーを選択 します(または、タイムラインの「レイヤーの挿入」ボタンをクリックします)。 14 新しいマスクレイヤーのフレーム 10 にキーフレームを挿入します。 15 ツールパネルの矩形ツールを使用して、イメージムービークリップの最初の(一番上の)イメージを覆う矩形を作成しま す。 矩形に使用する塗りのカラーはどのカラーでもかまいませんが、完全に塗りつぶされている必要があります。 A 矩形マスク 16 矩形がイメージエリア全体を確実に覆うようにするには、矩形をダブルクリックして選択し、次にプロパティインスペク タを使用して、矩形の x 座標と y 座標を 0 に、幅を 176 に、高さを 100 に設定します。 17 タイムラインで Image Mask レイヤーを右クリック(Windows®)、または Control キーを押しながらクリック (Macintosh®)して、ショートカットメニューから「マスク」を選択します。 マスクレイヤーに変換されたレイヤーには、マスクレイヤーアイコンが表示されます。すぐ下にあるレイヤーがマスクレ イヤーにリンクされ、そのコンテンツがマスクの塗りつぶされた領域から見えます。マスクレイヤーの操作方法について 詳しくは、『Flash ユーザーガイド』のマスクレイヤーの使用に関する節を参照してください。 A B C A. マスクレイヤー B. マスクされたレイヤー C. ステージ上のマスクされた領域 18 変更内容を保存します(ファイル/保存)。 FLASH LITE 1.X および 3.0 アプリケーションの開発 14 Flash Lite アプリケーションの作成 この時点では、エミュレータでアプリケーションをテストすると、作成したアニメーションは最後まで再生された後、停 止します。次の節(「14 ページの「おすすめ料理画面へのナビゲーションとテキストの追加」」)では、キーフレームごと にアニメーションを停止する ActionScript と、イメージ間のナビゲーションを可能にするユーザーインターフェイスエ レメントを追加します。 おすすめ料理画面へのナビゲーションとテキストの追加 この節では、ユーザーが各アニメーション間のトランジションを制御できるようにするインタラクティブ機能をおすすめ料 理の画面に追加します。各イメージの名前と説明を表示する動的テキストフィールドも追加します。 おすすめ料理の名前と説明として表示するテキストを追加するには: 1 前の節で完成させたファイルを Flash で開きます(「9 ページの「メイン画面のメニューの作成」」を参照してください)。 2 タイムラインで、Text レイヤー上のフレーム 10 を選択します。 3 ツールパネルで、テキストツールを選択し、最初のマスクされたおすすめ料理のイメージの下にテキストフィールドを作 成します。 このテキストフィールドに、イメージが現在表示されているおすすめ料理の名前が表示されます。 A おすすめ料理の名前を表示するテキストフィールド 4 ステージのテキストフィールドが選択された状態で、プロパティインスペクタを次のように変更します。 • テキストの種類ポップアップメニューから「動的テキスト」を選択します。 • フォントポップアップメニューから「Verdana」を選択します。 • 「イタリック」テキストスタイルオプションを選択します。 • フォントサイズを 10 に設定します。 • フォントのレンダリング方法ポップアップメニューから「ビットマップ(アンチエイリアスなし)」を選択します。 • 「変数」テキストボックスに「title」と入力します。ここで入力した変数名は、動的テキストフィールドに代入され ます。 5 最初のテキストフィールドの下に、表示されているおすすめ料理の簡単な説明を表示する別のテキストフィールドを作成 します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 15 Flash Lite アプリケーションの作成 6 選択ツールを使用して、テキストフィールドの高さがもう 1 つのテキストフィールドの高さの約 3 倍になるようにサイズ を変更します。 A おすすめ料理の説明を表示するテキストフィールド 7 ステージのテキストフィールドが選択された状態で、プロパティインスペクタを次のように変更します。 • テキストの種類ポップアップメニューから「動的テキスト」を選択します。 • 行タイプポップアップメニューから「複数行」を選択します。 • フォントポップアップメニューから「Verdana」を選択します。 • フォントサイズを 10 に設定します。 • フォントのレンダリング方法ポップアップメニューから「ビットマップ(アンチエイリアスなし)」を選択します。 • 「変数」テキストボックスに「description」と入力します。 8 タイムラインで、Actions レイヤー上のフレーム 10 のキーフレームを選択します。 9 アクションパネルを開き、次のコードを追加します。 title = "Summer salad"; description = "Butter lettuce with apples, blood orange segments, gorgonzola, and raspberry vinaigrette."; fscommand2("SetSoftKeys", "Home", "Next"); stop(); このコードを実行すると、ユーザーが現在表示しているおすすめ料理の名前と説明が表示され、再生ヘッドが停止しま す。SetSoftKeys コマンドを実行すると、ホーム画面に戻ったり、おすすめ料理を切り替えたりするために使用されるデ バイスのソフトキーが登録されます。 10 Actions レイヤーで、フレーム 20 のキーフレームを選択し、アクションパネルで次のコードを入力します。 title = "Chinese Noodle Salad"; description = "Rice noodles with garlic sauce, shitake mushrooms, scallions, and bok choy."; stop(); 11 Actions レイヤーで、フレーム 30 のキーフレームを選択し、アクションパネルで次のコードを入力します。 title = "Seared Salmon"; description = "Filet of wild salmon with caramelized onions, new potatoes, and caper and tomato salsa."; stop(); FLASH LITE 1.X および 3.0 アプリケーションの開発 16 Flash Lite アプリケーションの作成 12 Actions レイヤーで、フレーム 40 のキーフレームを選択し、アクションパネルで次のコードを入力します。 title = "New York Cheesecake"; description = "Creamy traditional cheesecake served with chocolate sauce and strawberries."; stop(); 13 Actions レイヤーで、フレーム 50 のキーフレームを選択し、アクションパネルで次のコードを入力します。 gotoAndStop("specials"); このコードにより、再生ヘッドがアニメーションシーケンスの先頭に戻ります。アニメーションシーケンスの最初と最後 のイメージが同じであるため、アニメーションが連続するような効果が生まれます。 14 変更内容を保存します。 次に、ユーザーが各おすすめ料理のイメージと説明を切り替えて表示できるようにするナビゲーションをおすすめ料理の 画面に追加します。 おすすめ料理画面にナビゲーションを追加するには: 1 前の節で保存したファイルを開きます。 2 ライブラリパネル(ウィンドウ/ライブラリ)で、Home という名前のシンボルを見つけて、ステージの左下隅までド ラッグします。 3 プロパティインスペクタで、Home グラフィックの x 座標を 0、y 座標を 188 に設定します。 4 Next という名前のシンボルをライブラリからステージの右下隅までドラッグします。 5 プロパティインスペクタで、グラフィックの x 座標を 120、y 座標を 188 に設定します。 アプリケーションのステージは、次のスクリーンショットのようになります。 6 タイムラインで、Key Catcher という名前のレイヤー上のフレーム 10 のキーフレームを選択します。 7 ライブラリから Key Catcher ボタンシンボルをドラッグして、ステージの周りのワークエリアに配置します。 注意:ワークエリアを表示するには、Flash で表示/ワークエリアを選択します。 A B A. Key Catcher ボタン B. ワークエリア FLASH LITE 1.X および 3.0 アプリケーションの開発 17 Flash Lite アプリケーションの作成 このボタンの目的は、ユーザーによって開始された ActionScript キー押し下げイベントを「キャッチ」して、適切なア 「23 ページの「Key Catcher ボタンの作 クションを実行することです。Key Catcher ボタンの使用法について詳しくは、 成」」を参照してください。 8 Key Catcher ボタンを選択して、アクションパネルで次のコードを入力します。 // Handle right soft key event ("Next" button): on(keyPress "<PageDown>") { play(); } // Handle left soft key event ("Home" button): on(keyPress "<PageUp>") { gotoAndStop("main"); } 最初の on(keyPress) ハンドラによって、イメージアニメーションがシーケンス内の次のイメージに進められ、2 番目のハ ンドラによって、再生ヘッドがアプリケーションのメイン画面に送られます。 9 制御/ムービープレビューを選択して、完成したアプリケーションをエミュレータでテストします。 18 第 4 章:インタラクティブ機能とナビゲーション 機能の作成 アドビ システムズ社の Macromedia Flash Lite 1.0 および Flash Lite 1.1 ソフトウェアは、デバイスのキーを使用したユー ザー操作、または対応するデバイスではペンやタッチスクリーンインターフェイスを使用したユーザー操作をサポートして います。 Flash Lite アプリケーションにキーによる操作機能を追加する方法は 2 つあります。Flash Lite のデフォルトのタブナビ ゲーションを使用することも、カスタムキーによるナビゲーションシステムを作成することもできます。 タブナビゲーションは、Flash Lite でも Flash デスクトップアプリケーションと同様に機能します。つまり、Tab キーおよ び Shift+Tab キーにより、画面上のオブジェクト間を移動できます。Flash Lite では、デバイスの 4 方向矢印キーが Tab キーおよび Shift+Tab キーと同じ目的を果たします。Flash Lite のタブナビゲーションでは、ボタンおよびテキスト入力 フィールドのみを使用して操作します。通常、これはメニュー操作などの単純なユーザー操作に最適です。詳細については 19 ページの「Flash Lite におけるタブナビゲーションの使用」を参照してください。 タブナビゲーションの代わりに、カスタムキーナビゲーションを使用できます。この場合、アプリケーションは、ユーザー によるキー入力に応答して Flash Lite で生成されるキー押下イベントを処理し、適切な措置をとります。この種類のナビ ゲーションは、たとえば、Flash Lite ゲームを作成する場合や、操作モデルが単純なメニューよりも複雑なその他のアプリ ケーションを作成する場合などに使用します。 Flash Lite でサポートされているキー 標準的な電話機の英数字キーに加えて、多くのモバイルデバイスには、デバイスの画面上を移動してアイテムを選択するた めの 5 方向キーと、左および右ソフトキーがあります。デバイスのソフトキーは、デバイスの画面の表示内容に応じて用途 が変わる多機能キーです。 5 方向キーには、4 つの矢印キー ( 右、左、上、下 ) および選択キー(通常、矢印キーの中央に配置)があります。アプリ ケーションごとに各キーの用途は異なる場合があります。たとえば、Flash Lite ゲームでは、方向キーを使用して画面上の キャラクタを移動し、選択キーを押してキャラクタをジャンプさせるなどの別の操作を実行することができます。 Flash Lite は、モバイルデバイスの次のキーをサポートしています。 • 5 方向キー(上、下、左、右、および選択) • 左ソフトキーと右ソフトキー • 0-9、*、および # キー 次の図は、汎用キーおよび実際の電話機の一般的なキーを示しています。 FLASH LITE 1.X および 3.0 アプリケーションの開発 19 インタラクティブ機能とナビゲーション機能の作成 A B C A. ソフトキー B. 5 方向キー C. 数字、#、および * キー すべてのデバイスおよび Flash Lite コンテンツタイプで、これらのすべてのキーがサポートされているわけではありませ ん。たとえば、一部のデバイスでは Flash Lite アプリケーションは上下矢印キーのみにアクセスでき、左右矢印キーにはア クセスできません。また、Flash アプリケーションが左右ソフトキーにアクセスできないデバイスおよびコンテンツタイプ もあります。Adobe Device Central でアプリケーションをテストすると、ターゲットデバイスまたはコンテンツタイプで 使用できないキーを押すと、警告メッセージが表示されます。 Flash Lite におけるタブナビゲーションの使用 デスクトップの Flash アプリケーションでは、Tab キーおよび Shift + Tab キーを使用して画面のオブジェクト間でキー ボードフォーカスを切り替えることができます。フォーカスのあるオブジェクトは、その後のキー押下に応答します。 Flash Lite では、デバイスの 5 方向キーの矢印キーが Tab キーおよび Shift+Tab キーと同じ目的を果たします。 Flash Lite でサポートされているタブナビゲーションモードは、2 方向、4 方向、および折り返し付き 4 方向の 3 種類です。 デバイスおよび Flash Lite コンテンツタイプに応じて、サポートされるナビゲーションモードは異なります。詳細について は、19 ページの「タブナビゲーションのモード」を参照してください。 Flash Lite のタブナビゲーションは、ボタンとテキスト入力フィールドで使用します。テキスト入力フィールドにフォーカ スが置かれているときにユーザーが選択キーを押すと、Flash Lite ではデバイスの汎用テキスト入力ダイアログボックスが 開き、ユーザーはそこにテキストを入力できます。テキスト入力フィールドを使用してユーザー入力を取得する例について は、44 ページの「テキストフィールドのサンプルアプリケーション」を参照してください。 タブナビゲーションのモード Flash Lite でサポートされているタブナビゲーションモードは、2 方向、4 方向、および折り返し付き 4 方向の 3 種類です。 デバイスおよび Flash Lite コンテンツタイプに応じて、サポートされるナビゲーションモードは異なります。特定のデバイ スおよびコンテンツタイプのナビゲーションモードの確認については、63 ページの「プラットフォーム機能の決定」を参照 してください。 次の節で説明する各ナビゲーションモードは、Adobe Device Central を使用して表示できるサンプルファイルを参照して います。各サンプルファイルは、下に示したように、同じ縦 3 x 横 3 のボタンで構成されています。サンプルファイル間の 相違点は、対象のナビゲーションモードをサポートするデバイスおよび Flash Lite コンテンツタイプをターゲットにそれぞ れのサンプルファイルが設定されていることです。 FLASH LITE 1.X および 3.0 アプリケーションの開発 20 インタラクティブ機能とナビゲーション機能の作成 サンプルファイルのボタンの配列 各サンプルファイルを使用するには、Adobe Flash CS4 Professional でファイルを開いて Adobe Device Centra(制御/ ムービープレビュー)を使用してテストします。エミュレートされたデバイスの矢印キーをクリックするか、キーボードの 矢印キーを押して、ナビゲーションモード別にユーザーナビゲーションの動作を確認します。 2 方向ナビゲーション 2 方向ナビゲーションでは、オブジェクト(ボタンまたはテキスト入力フィールド)間のフォーカ スの移動はデバイスの上下矢印キーによって行われ、左右矢印キーは意味を持ちません。下向き矢印キーは、右側にある次 のオブジェクトにフォーカスを移します。フォーカスのある現在のオブジェクトの右側にオブジェクトが配置されていない 場合は、現在そのオブジェクトの下の左端にあるオブジェクトにフォーカスが移ります。フォーカスのある右端のオブジェ クトの下にオブジェクトがない場合は、フォーカスは一番上の左端のオブジェクトに移ります。上向き矢印キーは、左側に ある次のオブジェクトにフォーカスを移動します。フォーカスのある現在のオブジェクトの左側にオブジェクトが配置され ていない場合は、そのオブジェクトの上の右端にあるオブジェクトにフォーカスが移ります。 2 方向ナビゲーションの例については、www.adobe.com/go/learn_flt_samples_and_tutorials にある 2-way.fla というサ ンプルファイルを参照してください。サンプルとチュートリアルのページで、Flash Lite バージョンの .zip ファイルを探し てダウンロードおよび解凍し、Samples フォルダに移動してサンプルにアクセスします。 4 方向ナビゲーション 4 方向ナビゲーションでは、ユーザーはデバイスの左向き、右向き、上向きおよび下向き矢印キーを 使用してオブジェクト間でフォーカスを移動することがきます。左向き矢印キーを押すと、現在フォーカスのあるオブジェ クトからボタンの左側のオブジェクトにフォーカスが移ります。右向き矢印キーを押すと、フォーカスのあるボタンの右側 の次のボタンにフォーカスが移ります。上向きキーおよび下向きキーも同様に、フォーカスのあるボタンの上下にフォーカ スを移動します。 4 方向ナビゲーションの使用例については、www.adobe.com/go/learn_flt_samples_and_tutorials にある 4-way.fla とい うサンプルファイルを参照してください。サンプルとチュートリアルのページで、Flash Lite バージョンの zip ファイルを 探してダウンロードおよび解凍し、Samples フォルダに移動してサンプルにアクセスします。 折り返し付きの 4 方向ナビゲーション このモードは 4 方向ナビゲーションと同様ですが、フォーカスのある一番右側の ボタンの下にボタンがない場合、フォーカスは一番上の左端のボタンに移ります。 フォーカス矩形について デフォルトでは、Flash Lite でフォーカスがあるボタンまたはテキスト入力フィールドの回りに黄色の矩形が表示されます。 フォーカス矩形により、デバイスの選択キーを押したときに画面上で応答するオブジェクトを確認できます。たとえば、次 の図では、現在フォーカスがあるボタンの周囲にフォーカス矩形が表示されています。 FLASH LITE 1.X および 3.0 アプリケーションの開発 21 インタラクティブ機能とナビゲーション機能の作成 現在フォーカスがあるボタンとデフォルトのフォーカス矩形 ボタンの場合、フォーカス矩形の境界ボックスはボタンのヒット領域によって決まります。ヒット領域とは Flash デスク トップアプリケーションで、マウスクリックに応答するボタンの部分を定義する非表示の領域です。テキスト入力フィール ドの場合、フォーカス矩形の境界ボックスはテキストフィールドのサイズに対応します。 フォーカス矩形のデフォルトのビヘイビアを無効にするには、プロパティ _focusRect を false に設定します。オーバー状態を 定義するボタンを使用する場合は、Flash Lite では、ボタンにフォーカスが移ったときにそれらの状態が表示されます。こ の理由により、ボタンを使用する際にはフォーカス矩形は必要ありません。たとえば、次の図は前の図と同様のアプリケー ションを示しますが、フォーカス矩形は無効になっています。フォーカスのあるボタンはそのオーバー状態を表示していま す。 現在フォーカスのあるボタン(フォーカス矩形は無効) アプリケーションにテキスト入力フィールドが含まれる場合、フォーカス矩形は無効にしないことをお勧めします。フォー カス矩形は、テキスト入力フィールドにフォーカスがあるかどうかを知る唯一の手掛かりです。たとえば、次の図は現在 フォーカスのあるテキスト入力フィールドを示しています。 現在フォーカスのあるテキスト入力フィールド FLASH LITE 1.X および 3.0 アプリケーションの開発 22 インタラクティブ機能とナビゲーション機能の作成 同じ画面にボタン(オーバー状態が定義済み)およびテキスト入力フィールドの両方が含まれるアプリケーションの場合、 次の例に示したように、_focusRect プロパティを各ボタンの on(rollOver) イベントハンドラで false に、各ボタンの on(rollOut) ハンドラで true に設定できます。これにより、テキスト入力フィールドにフォーカスがある場合にはフォーカス 矩形が表示され、ボタンにフォーカスがある場合には表示されません。 // Attach this code to each button on the Stage. on(rollOver) { _focusRect = false; } on(rollOut) { _focusRect = true; } テキスト入力フィールドの詳細については、38 ページの「テキスト入力フィールドの使用」を参照してください。 タブナビゲーションの使用に関するガイドライン タブナビゲーションを使用してインタラクティブ機能を作成する場合、少なくとも 2 つのオブジェクト(テキスト入力 フィールド、ボタン、またはその組み合わせ)を画面に同時に配置する必要があります。画面にボタンまたはテキスト入力 フィールドが 1 つしかない場合は、ユーザーはフォーカスを変更することはできず、ユーザーインターフェイスが動かなく なってしまったと感じる可能性があります。 アプリケーションの画面にユーザーが操作できるオブジェクトとしてボタンが 1 つしかない場合は、ボタンイベントを使用 しないでキー押下イベントを検知するようにします。詳細については、22 ページの「キーイベントの処理」を参照してくだ さい。 キーイベントの処理 ボタン間およびテキスト入力フィールド間でのタブナビゲーションの使用に加え、Flash Lite アプリケーションは任意の キー押下イベントに応答することもできます。 デバイスおよびコンテンツタイプによっては、一部のデバイスキーをサポートしていない場合もあります。たとえば、2 方 向のナビゲーション(19 ページの「タブナビゲーションのモード」を参照)をサポートするデバイスでは、Flash Lite は左 向きおよび右向き矢印キーについてキー押下イベントを生成しません。 Flash Lite は、すべてのデバイスで次のキーをサポートしています。 • 0-9、*、および # キー • 選択キー 2 方向ナビゲーションをサポートするデバイスでは、Flash Lite は 5 方向キーの上下矢印キーもサポートしています。4 方向 ナビゲーションをサポートするデバイスでは、Flash Lite は上向き、下向き、左向きおよび右向き矢印キーをサポートして います。 SetSoftKeys コマンドをサポートするデバイスでは、Flash Lite は左および右ソフトキーもサポートしています。 キーハンドラスクリプトの作成 キー押下イベントを処理するには、on(keyPress "key") ハンドラをボタンインスタンスに割り当てます。key はサポートされ るキーイベント名です。たとえば、ステージのボタンインスタンスに割り当てた次のコードは、ユーザーがデバイスの右向 き矢印キーを押したときに実行されます。 on(keyPress "<Right>") { trace("You pressed the right arrow key"); } FLASH LITE 1.X および 3.0 アプリケーションの開発 23 インタラクティブ機能とナビゲーション機能の作成 次の表は、ユーザーによるデバイスでのキー入力に応答して Flash Lite で生成される ActionScript キー押下イベントを示 します。 デバイスキー ActionScript キーイベント 利用状況 0-9、*、# 0、1、2、3、4、5、6、7、8、-9、*、 # すべてのデバイスで利用可能です。 選択キー <Enter> すべてのデバイスで利用可能です。 左向き矢印キー <Left> 4 方向のナビゲーションをサポートするデバイスで のみ利用可能です。 右向き矢印キー <Right> 4 方向のナビゲーションをサポートするデバイスで のみ利用可能です。 上向き矢印キー <Up> 4 方向のナビゲーションをサポートするデバイスで のみ利用可能です。 下向き矢印キー <Down> 4 方向のナビゲーションをサポートするデバイスで のみ利用可能です。 左ソフトキー <PageUp> SetSoftKeys コマンドをサポートするデバイスでの み利用可能です。 右ソフトキー <PageDown> SetSoftKeys コマンドをサポートするデバイスでの み利用可能です。 Key Catcher ボタンの作成 アプリケーションで複数の異なるキー押下イベントを処理する必要がある場合、各キー押下イベントに対して 1 つのボタン を作成することも、1 つのボタンを使用してすべてのキー押下イベントを処理することもできます。この種類のボタンは、 通常 Key Catcher(またはキーリスナー)ボタンと呼ばれます。Key Catcher ボタンはユーザーからは見えないように、通 常はステージ外(ワークエリア内)に配置されます。 次の手順は、Key Catcher ボタンを使用して、簡単なアプリケーションのキー押下イベントを処理する方法を示します。ア プリケーションでは、ユーザーはデバイス上の 4 つの矢印キーを押すことにより、ステージの周囲の円を移動できます。 Key Catcher ボタンを作成し、使用するには: 1 Flash で、新規モバイルドキュメントを作成し、keycatcher.fla として保存します。 2 Content という名前のタイムラインでレイヤーを選択します。 3 楕円ツールを使用して、ステージ上に楕円または円を作成し、ムービークリップに変換します。 4 新しいムービークリップが選択されている状態で、プロパティインスペクタの「インスタンス名」テキストボックスに 「circle」と入力します。 5 テキストツールを使用して、テキスト key catcher を含むテキストフィールドを作成し、ボタンシンボルに変換します。 6 ステージの周りのワークエリアに新しいボタンシンボルを配置します。ステージの周りのワークエリアを表示するには、 表示/ワークエリアを選択します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 24 インタラクティブ機能とナビゲーション機能の作成 A B A. Key Catcher ボタン B. ムービークリップインスタンスの円 7 Key Catcher ボタンインスタンスを選択し、アクションパネルを開きます(ウィンドウ/アクション)。 8 アクションパネルで、次のコードを入力します。 on(keyPress "<Left>") { circle._x -= 10; } on(keyPress "<Right>") { circle._x += 10; } on(keyPress "<Up>") { circle._y -= 10; } on(keyPress "<Down>") { circle._y += 10; } 9 制御/ムービープレビューを選択して、アプリケーションをテストします。 Adobe Device Central エミュレータの 4 つの矢印キーを押して、ステージ上で円を移動します。 Key Catcher ボタンのもう 1 つの例については、24 ページの「ムービークリップを使用した単純なメニューの作成」を参照 してください。 ムービークリップを使用した単純なメニューの作成 この節では、ムービークリップを使用して単純なメニューを作成する方法について説明します。この方法では、ボタン間の デフォルトタブナビゲーションに依存して各ボタンにコードを割り当てる代わりに、Key Catcher ボタンを使用してキー押 下イベントを検知し、必要に応じてユーザーインターフェイスを更新します。この方法は、ボタンメニューの手法と比べて より多くの開発作業を要しますが(「22 ページの「キーイベントの処理」を参照)、次のような利点を提供します。 • タブ順序の制御。ボタンと同様に Flash Lite プレーヤーによってタブ順序が決定されるのではなく、フォーカスを置く オブジェクトおよびそれがキー押下イベントに応答する方法は、ユーザー(開発者)が決定できます。 • アプリケーション状態間でのメニュー選択の維持。たとえば、最後にユーザーが選択したメニューアイテムをアプリケー ションで記憶し、後でそれにフォーカスを戻したい場合を想定します。ActionScript を使用してボタンにフォーカスを 割り当てることはできないので、ボタンメニューを使用してこれを行うことはできません。 次の手順では、部分的に完成している Flash ドキュメントから操作を始めます。完成版アプリケーション (movieclip_menu_complete.fla)のサンプルについては、Flash Lite のサンプルとチュートリアルのページ (www.adobe.com/go/learn_flt_samples_and_tutorials)を参照してください。ActionScript の zip ファイルを探してダ ウンロードおよび解凍し、Samples フォルダの中のサンプルにアクセスします。 FLASH LITE 1.X および 3.0 アプリケーションの開発 25 インタラクティブ機能とナビゲーション機能の作成 ムービークリップを使用して単純なメニューを作成するには: 1 www.adobe.com/go/learn_flt_samples_and_tutorials にある movieclip_menu_start.fla という名前のファイルをダ ウンロードして開きます。サンプルとチュートリアルのページの Flash Lite バージョンの zip ファイルを探してダウン ロードおよび解凍し、Samples フォルダに移動して、サンプルにアクセスします。 2 タイムライン内で Menu Items レイヤーを選択します。 3 ライブラリパネル(ウィンドウ/ライブラリ)を開き、Menu Item Clip という名前のムービークリップシンボルのイン スタンスをライブラリパネルからステージにドラッグします。 このムービークリップには 2 つのキーフレームまたはビジュアル状態が含まれます。1 つはメニューアイテムの初期の選 択されていない状態のキーフレームで、もう 1 つはメニューアイテムにフォーカスが置かれると表示される選択された状 態のキーフレームです。次の図は、ムービークリップのタイムラインの最初のキーフレームを示しています。メニューア イテムのラベルを表示する動的テキストフィールド、および赤の背景グラフィックが含まれます。テキストフィールドと 背景グラフィックは、ムービークリップのタイムラインの全フレームに及びます。 A B A. フレームラベル . B. 変数名ラベルの付いた動的テキストフィールド 次の図は、ムービークリップのタイムラインのフレーム 5 を示しています。このフレームと最初のフレームの外観の唯一 の違いは、メニューアイテムの赤の背景を囲む黄色の境界線のハイライトです。 4 メニューアイテムのムービークリップのもう 2 つのインスタンスをステージにドラッグし、縦方向に 1 列に並べます。 5 上のムービークリップを選択し、プロパティインスペクタの「インスタンス名」テキストボックスに "menu_1" と入力 します。 6 中間と下のムービークリップにそれぞれ "menu_2" および "menu_3" というインスタンス名を割り当てます。 FLASH LITE 1.X および 3.0 アプリケーションの開発 26 インタラクティブ機能とナビゲーション機能の作成 A B C A. menu_1 B. menu_2 C. menu_3 各インスタンス名に数値の接尾辞を付加することにより、この後追加するコードで各ムービークリップを動的に参照でき ます。 7 テキストツールを使用して、ステージの下端に沿ってテキストフィールドを作成します。 8 プロパティインスペクタのテキストの種類ポップアップメニューから「動的テキスト」を選択し、「変数」テキストボッ クスに「 status 」と入力します。 単純なメニューの例と同様に、このテキストフィールドには現在選択されているメニューアイテムに関するステータス メッセージが表示されます。 9 タイムラインで、Action というレイヤーの最初のフレームを選択します。 10 アクションパネルを開き(ウィンドウ/アクション)、次のコードを入力します。 // Initialize menu item labels: menu_1.label = "News"; menu_2.label = "Sports"; menu_3.label = "Weather"; // Initialize variable that specifies number of menu items numItems = 3; // Initialize selectedItem variable, which contains // the index of the current menu selection selectedItem = 1; // Initialize status text field currentLabel = eval("menu_" add selectedItem add ":label"); status = "Press to select " add currentLabel; // Send the first menu item to its "over" state tellTarget("menu_1") { gotoAndStop("over"); } 11 タイムライン内で Key Catcher レイヤーを選択します。 12 ライブラリを開き、Key Catcher ボタンのインスタンスをステージにドラッグします。 次に、ユーザーキー押下イベントを処理して、ユーザーインターフェイスを更新するイベントハンドラコードをこのボタ ンに割り当てます。 13 ステージでボタンが選択された状態で、アクションパネルを開きます。 14 アクションパネルに次のコードを入力 ( またはコピー & ペースト ) します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 27 インタラクティブ機能とナビゲーション機能の作成 on(keyPress "<Down>") { if(selectedItem < numItems) { // Turn off highlight on previously selected menu item: tellTarget("menu_" add selectedItem) { gotoAndStop("off"); } // Increment selectedItem variable // and turn on highlight for new selection selectedItem++; tellTarget("menu_" add selectedItem) { gotoAndStop("over"); } // Update status text field with label of selected item: currentLabel = eval("menu_" add selectedItem add ":label"); status = "Press to select " add currentLabel; } } on(keyPress "<Up>") { if(selectedItem > 1) { // Turn off highlight on previously selected item: tellTarget("menu_" add selectedItem) { gotoAndStop("off"); } // Increment selectedItem and turn on highlight for new selection selectedItem--; tellTarget("menu_" add selectedItem) { gotoAndStop("over"); } // Update status text field with label of selected item: currentLabel = eval("menu_" add selectedItem add ":label"); status = "Press to select " add currentLabel; } } on(keyPress "<Enter>") { // Update status field with selected item status = "You selected " add currentLabel; } 15 制御/ムービープレビューを選択して Adobe Device Central エミュレータでアプリケーションをテストします。 メニューを操作するには、エミュレータの上向き矢印および下向き矢印キーをマウスでクリックするか、キーボード上の 対応する矢印キーを押します。 ボタンイベントの処理 Flash Lite は、次の ActionScript ボタンイベントをサポートしています。ボタンイベントには、press、release、rollOver、 および rollOut があります。これらのイベントを処理するには、on(event) ハンドラをボタンインスタンスに割り当てます。 event は次の表に示されているサポートされるボタンイベントの 1 つです。 FLASH LITE 1.X および 3.0 アプリケーションの開発 28 インタラクティブ機能とナビゲーション機能の作成 ボタンイベント イベントの生成時の操作 press ボタンにフォーカスがあるときにユーザーがデバイス上の選択キーを押す。 release ボタンにフォーカスがあるときにユーザーがデバイス上の選択キーを離す。 rollOver ボタンにフォーカスが置かれます。 rollOut ボタンがフォーカスを失います。 次の手順では、ボタンイベントを処理する単純なアプリケーションを作成する方法を説明します。ボタンを使用してメ ニューを作成する例については、29 ページの「ボタンとタブナビゲーションを使用した単純なメニューの作成」を参照して ください。 ボタンイベントハンドラスクリプトを作成するには: 1 Flash で、新規モバイルドキュメントを作成し、button_handler.fla として保存します。 2 ウィンドウ/サンプルライブラリ/ボタンを選択して、作成済みのボタンシンボルの外部ライブラリを開きます。 3 ライブラリパネルで、Circle Buttons フォルダをダブルクリックして開きます。 4 メニューボタンシンボルのインスタンスをステージにドラッグします。 5 ボタンを選択し、アクションパネルを開きます(ウィンドウ/アクション)。 6 アクションパネルで、次のコードを入力します。 on(press) { trace("You pressed Button 1"); } on(release) { trace("You released Button 1"); } on(rollOver) { trace("Button 1 has focus"); } on(rollOut) { trace("Button 1 lost focus"); } 7 同じボタンの別のインスタンスをステージにドラッグし、最初のボタンのすぐ下に配置します。 8 ステージで 2 番目のボタンが選択された状態でアクションパネルを開き、次のコードを入力します。 on(press) { trace("You pressed Button 2"); } on(release) { trace("You released Button 2"); } on(rollOver) { trace("Button 2 has focus"); } on(rollOut) { trace("Button 2 lost focus"); } 9 タイムラインで、ActionScript レイヤーのフレーム 1 を選択します。 10 アクションパネルで、次のコードを入力します。 _focusRect = false; FLASH LITE 1.X および 3.0 アプリケーションの開発 29 インタラクティブ機能とナビゲーション機能の作成 これにより、フォーカスのあるボタンの周囲に描かれる黄色のフォーカス矩形が無効になります。この場合、ボタンに フォーカスがあるときに表示されるオーバー状態がボタンに含まれるので、デフォルトのフォーカス矩形は必要ありませ ん。 11 Adobe Device Central エミュレータを使用してアプリケーションをテストします(制御/ムービープレビュー)。 エミュレータで上向き矢印および下向き矢印キーを押すとメッセージが表示されます。 ボタンとタブナビゲーションを使用した単純なメニューの作成 この節では、ボタンとタブナビゲーションを使用して単純なメニューを作成する方法を示します。メニューを作成するには、 3 つのボタンシンボルを使用します。各シンボルが各メニューオプションに対応します。ユーザーが各メニューアイテム上 に移動したとき(対応するボタンにフォーカスを与えたとき)、およびユーザーがデバイスの選択キーを押してメニューアイ テムを選択したときにメッセージを表示するイベント処理コードを各ボタンインスタンスに割り当てます。Flash Lite での ボタンイベントの処理の詳細については、27 ページの「ボタンイベントの処理」を参照してください。 Nokia 7610 およびスタンドアローンプレーヤーのコンテンツタイプをターゲットとした、部分的に完成している Flash ド キュメントから操作を始めます。他のデバイスやコンテンツタイプに合わせてこれらの設定を変更できます(詳細について は、Adobe Device Central のヘルプを参照)。 ボタンを使用する単純なメニューを作成するには : 1 www.adobe.com/go/learn_flt_samples_and_tutorials にある simple_menu_start.fla という名前のファイルを開きま す。サンプルとチュートリアルのページで、Flash Lite バージョンの zip ファイルを探してダウンロードおよび解凍し、 Samples フォルダに移動してサンプルにアクセスします。 2 ライブラリパネルを開きます ( ウィンドウ/ライブラリ )。 ライブラリ内に、News Button、Weather Button、および Sports Button という 3 つのボタンシンボルがあります。 3 タイムライン内で(ウィンドウ/タイムライン)、Menu Buttons レイヤーを選択します。 4 News Button シンボルのインスタンスをライブラリパネルからステージにドラッグします。 5 Sports Button および Weather Button についても手順 4 を繰り返します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 30 インタラクティブ機能とナビゲーション機能の作成 6 次の図に示すように、3 つのボタンを縦方向に整列します 7 ツールパネルでテキストツールを選択し、ステージの下部にテキストフィールドを作成します。 このテキストフィールドには、ユーザーが各メニュー項目に移動したときに短いメッセージが表示されます。 8 新しいテキストフィールドを選択状態にし、プロパティインスペクタで次の操作を行います。 a テキストの種類ポップアップメニューから「動的テキスト」を選択します。 b 「変数」テキストボックスに "status" と入力します。 9 ステージ上で News Button を選択し、アクションパネルを開きます(ウィンドウ/アクション)。 10 アクションパネルに次のコードを入力します。 on(rollOver) { status = "Press to select News" } on(press) { status = "You selected news" } このコードは、ユーザーが News メニューボタンをロールオーバーしたときに一部のテキストを動的テキストフィール ドに割り当てます。 11 Sports Button を選択し、アクションパネル内で次のコードを入力します。 on(rollOver) { status = "Press to select Sports"; } on(press) { status = "You selected Sports"; } 12 Weather Button を選択し、アクションパネル内で次のコードを入力します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 31 インタラクティブ機能とナビゲーション機能の作成 on(rollOver) { status = "Press to select Weather"; } on(press) { status = "You selected Weather"; } 13 タイムラインで、Actions レイヤーのフレーム 1 を選択します。 14 アクションパネルに次のコードを入力します。 _focusRect = false; これにより、フォーカスのあるボタンおよびテキストフィールドの周囲に、Flash Lite でデフォルト設定によって描かれ る黄色のフォーカス矩形が無効になります(20 ページの「フォーカス矩形について」を参照)。 この時点で、ステージは次の図のようになります。 15 制御/ムービープレビューを選択し、Adobe Device Central エミュレータを使用してアプリケーションをテストしま す。 FLASH LITE 1.X および 3.0 アプリケーションの開発 32 インタラクティブ機能とナビゲーション機能の作成 下向き矢印キーをマウスでクリックするか、コンピュータのキーボードで下向き矢印キーを押して、メニューオプション 間を移動します。メニューアイテムを選択するには、選択キーをマウスでクリックするか、コンピュータのキーボードで Enter キーを押します。 ソフトキーの使用 デバイスのソフトキーは、デバイスの画面の表示内容に応じて用途が変わる多機能キーです。たとえば、次のアプリケー ションでは、ソフトキーの上のラベルは、ユーザーは右ソフトキーを押すことにより、次の特別ディナーメニューを表示し たり、左ソフトキーを押すことによりアプリケーションのホーム画面に戻ったりすることができることを示します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 33 インタラクティブ機能とナビゲーション機能の作成 A A. ソフトキーのラベル 左右のソフトキーを使用するには、まず SetSoftKeys コマンド(『Flash Lite 1.x ActionScript リファレンスガイド』の 「SetSoftKeys」を参照)を呼び出す必要があります。以後、右ソフトキーを押すと PageDown イベントが生成され、左ソフ トキーを押すと PageUp イベントが生成されます。これらのイベントに応答して指定の動作を行う ActionScript イベントハ ンドラコードを記述します。 SetSoftKeys コマンドは 2 つのパラメータを取ります。これらのパラメータは、アプリケーションがフルスクリーンモードで 実行されていないときに表示される左ソフトキーと右ソフトキーのラベルを指定します。フルスクリーンモードで実行され ているアプリケーションの場合は、指定したラベルは表示されないので、独自のラベルを作成して、ステージ上のソフト キーの場所に配置する必要があります。 たとえば、次の SetSoftKeys コマンド呼び出しについて考えてみます。 fscommand2("SetSoftKeys", "Options", "Exit"); 次の図は、フルスクリーンモードではなく、通常モードの実際のデバイスで実行されるアプリケーションで、このコマンド を実行した場合の結果を示しています。 A B A. 非フルスクリーンアプリケーションで利用可能なスクリーン領域 B. デバイスに表示されるソフトキーのラベル FLASH LITE 1.X および 3.0 アプリケーションの開発 34 インタラクティブ機能とナビゲーション機能の作成 フルスクリーンモードを有効にした場合、つまり fscommand("fullscreen", true) コマンドを呼び出した場合は、SetSoftKeys コ マンドにパラメータとして指定したラベルは表示されません。このため、フルスクリーンモードのアプリケーションでは、 次の図のように独自のソフトキーラベルを作成する必要があります。 A カスタムソフトキーのラベル アプリケーションでソフトキーを使用するには : 1 Flash で、新規モバイルドキュメントを作成します。 2 Adobe Device Central の「新規ドキュメント」タブで、スタンドアロンプレーヤーコンテンツタイプを選択します。 「デバイスプロファイル」タブで、Nokia フォルダのデバイスの 1 つをテストデバイスのリストに追加します。 3 タイムラインで Content レイヤーを選択します。 4 テキストツールを使用して Left という名前(または任意のテキスト)の静的テキストフィールドを作成し、ステージの 左下隅でデバイスの左ソフトキーの上に配置します。 5 Right という別の静的テキストフィールドを作成し、ステージの右下隅でデバイスの右ソフトキーの上に配置します。 6 テキストツールを使用して、別の動的テキストフィールドを作成し、ステージの中央に配置します。 アプリケーションを実行して左ソフトキーまたは右ソフトキーを押すと、このテキストフィールドにメッセージが表示さ れます。ドキュメントのステージは、次の図のようになります。 FLASH LITE 1.X および 3.0 アプリケーションの開発 35 インタラクティブ機能とナビゲーション機能の作成 A B A. ステータスメッセージテキストフィールド B. ソフトキーのラベル 注意:実際のアプリケーションでは、グラフィックやムービークリップシンボルなど、ソフトキーラベルには普通のテキ ストフィールド以外のものを使用することをお勧めします。 7 プロパティインスペクタで、ステータステキストフィールドが選択されている状態で「変数」テキストトボックスに "status" と入力します。 8 Key Catcher ボタンを作成します(23 ページの「Key Catcher ボタンの作成」を参照)。アクションパネルで次のコード をボタンに割り当てます。 // Handle Left soft keypress event on(keyPress "<PageUp>") { status = "You pressed the Left soft key."; } // Handle Right soft keypress event on(keyPress "<PageDown>") { status = "You pressed the Right soft key."; } 9 タイムラインで、Actions レイヤーのフレーム 1 を選択します。 10 アクションパネルに次のコードを入力します。 fscommand2("SetSoftKeys", "Left", "Right"); fscommand2("FullScreen", true); SetSoftKeys コマンドの 2 つのパラメータ(この場合 Left と Right)は、アプリケーションがフルスクリーンモードで表 示されていないときにソフトキーの上に表示されるラベルを指定します。この場合、アプリケーションは FullScreen コマ ンド(『Flash Lite 1.x ActionScript リファレンスガイド』の「FullScreen」を参照)を使用して、アプリケーションの フルスクリーンモードでの表示を強制します。その結果、これらのパラメータの値には、任意のテキストストリングまた は式を選択できます。 fscommand2("SetSoftKeys", foo, bar); 11 制御/ムービープレビューを選択し、Adobe Device Central を使用してアプリケーションをテストします。 FLASH LITE 1.X および 3.0 アプリケーションの開発 36 インタラクティブ機能とナビゲーション機能の作成 アプリケーションをテストするには、マウスで左右のソフトキーをクリックするか、キーボードの PageUp キーおよび PageDown キーを押します。 37 第 5 章:テキストとフォントの操作 この章では、アドビ システムズ社の Macromedia Flash Lite 1.x および 3.0 アプリケーションに静的テキストフィールドや 動的テキストを追加する方法、およびテキスト入力フィールドを追加する方法について説明します。 Flash Lite のテキストについて Flash Lite は、静的テキストフィールド、動的テキストフィールド、およびテキスト入力フィールドをサポートします。静 的テキストフィールドの内容は再生中に変化しません。たとえば、ページのタイトルまたはラベルを表示するには、静的テ キストフィールドを使用します。静的テキストフィールド再生について詳しくは、「44 ページの「テキストフィールドのサ ンプルアプリケーション」」を参照してください。 動的テキストフィールドでは、実行時にコンテンツを制御できます。ActionScript 変数名をコードで参照する動的テキスト フィールドに関連付けることができます。たとえば、Flash Lite で計算をする場合、計算結果を表示するために動的テキス トフィールドを使用します。動的テキストフィールドの使用について詳しくは、「37 ページの「テキストフィールドへの変 数名の割り当て」」を参照します。 テキスト入力フィールドは、動的テキストフィールドと同じですが、ユーザーはテキスト入力フィールドを操作してテキス ト入力のためデバイスの汎用テキスト入力ダイアログボックスを開くことができます。テキスト入力フィールドについて詳 しくは、「38 ページの「テキスト入力フィールドの使用」」を参照してください。 Flash Lite でのフォントのレンダリング方法について デバイスの表示でテキストをレンダリングするには、デバイスで利用可能なフォントを使用、または SWF ファイルに埋め 込まれたフォントデータを使用します。デバイスのフォントを使用すると、SWF ファイルのサイズは小さくて済みますが、 フォント表示の制御能力も小さくなります。SWF ファイルにフォントデータを埋め込む場合、フォント表示の制御能力は 大きくなりますが、ファイルサイズも増大します。 埋め込まれたフォントデータに対しては、アンチエイリアスおよびエイリアス処理した(ビットマップ)テキストの両方が サポートされます。これにより小さなポイントサイズでもテキストが読みやすくなります。サードパーティのフォントデザ イナからピクセルフォントを使用して、小さなテキストを読みやすくすることもできます。詳しくは、 「41 ページの「Flash Lite でのフォントのレンダリング方法」」および「43 ページの「SWF ファイルへのフォントアウトラインの埋め込み」」を 参照してください。 Flash Player のテキスト機能は、Flash Lite 1.x ではサポートされません。 Flash Lite 1.x のテキストフィールドは、Flash Player のデスクトップバージョンで利用可能な以下の機能をサポートしませ ん。 • Flash Player 8 およびそれ以降で利用可能な拡張されたフォントレンダリングテクノロジー。 • HTML、CSS、または他のリッチテキスト形式の機能。 • TextField および TextFormat オブジェクト。 テキストフィールドへの変数名の割り当て 動的テキストフィールドおよびテキスト入力フィールドに ActionScript 変数名を関連付けられます。これにより ActionScript 使用してテキストのコンテンツを取得あるいは設定できます。 FLASH LITE 1.X および 3.0 アプリケーションの開発 38 テキストとフォントの操作 動的テキストフィールドおよびテキスト入力フィールドに ActionScript 変数名を関連付けるには、以下を実行します。 1 Flash で、新規モバイルドキュメントを作成し、dynamic_text.fla として保存します。 2 ステージ上に動的テキストフィールドまたはテキスト入力フィールドを作成し、選択します。 3 プロパティインスペクタの「Var」テキストボックスに、nameVar と入力します。 入力した値は、有効な変数識別子であることが必要です。先頭の 1 文字は、英字、アンダースコア(_)、ドル記号($) のいずれかであり、それ以降の文字には、英字、数字、アンダースコア、ドル記号を使用できます。 A B C A. ステージ上で選択した動的テキストフィールド B. プロパティインスペクタ C. 選択したテキストフィールドへ割り当てられた変数名 4 タイムラインで、ActionScript というレイヤーのフレーム 1 を選択します。 5 ウィンドウ/アクションを選択してアクションパネルを開き、コードを入力します。 nameVar = "George Washington" 6 Adobe Device Central エミュレータでアプリケーションをテストします ( 制御 > ムービープレビュー )。 動的テキストフィールドを使用した別の例については、44 ページの「テキストフィールドのサンプルアプリケーション」 を参照してください。 テキスト入力フィールドの使用 Flash Lite のテキスト入力フィールドでは、動的テキストフィールドと同様、ActionScript の実行時にコンテンツを取得お よび設定できます。さらに、Flash Lite アプリケーションを使用すると、ユーザーはデバイスの汎用テキスト入力ダイアロ グボックスを使用して入力できます(Flash Lite はインラインテキスト入力をサポートしません)。以下の図には、Symbian Series 60 デバイスの入力ダイアログボックスが示されます。 A B A. テキスト入力フィールド デバイスのテキスト入力ダイアログボックス B. デバイスのテキスト入力ダイアログボックス デバイスの入力ダイアログボックスを開くには、最初にテキスト入力フィールドにフォーカスを与え、次にデバイスの選択 キーを押します。デフォルトでは、Flash Lite でフォーカスがあるテキスト入力フィールドの回りに黄色の矩形が表示され ます。 FLASH LITE 1.X および 3.0 アプリケーションの開発 39 テキストとフォントの操作 テキスト入力ダイアログボックスはモーダルなので、ダイアログボックスにフォーカスがある間は、ユーザーは Flash コン テンツを操作できません。ダイアログボックスにフォーカスがある間は、Flash アプリケーションの再生ヘッドも一時停止 します。 ユーザーが 「OK」( 左ソフトキー ) をクリックすると、テキスト入力ダイアログボックスが閉じ、Flash Lite によって自動 的にテキスト入力フィールドにテキストが入力されます。ユーザーが 「キャンセル」( 右ソフトキー ) をクリックすると、 テキストはテキスト入力フィールドに入力されません。 Adobe Flash でアプリケーションをテストする場合、Adobe Device Central エミュレータによってテキスト入力ダイアロ グボックスの機能が再現されます。次の図は、エミュレータで実行中のテキスト入力ダイアログを示しています。 エミュレータで実行されるテキスト入力ダイアログ アプリケーションでテキスト入力フィールドを使用する例については、44 ページの「テキストフィールドのサンプルアプリ ケーション」を参照してください。 テキスト入力フィールドの種類 Flash Lite では、単一行、複数行、およびパスワードテキスト入力フィールドをサポートしています。次の図のように、プ ロパティインスペクタの行タイプポップアップメニューを使用して、テキスト入力フィールドの種類を指定します。 テキスト入力フィールドについて指定した行のタイプによって、ユーザーがテキストフィールドを編集するときのデバイス のテキスト入力ダイアログボックスの動作が決まります。 FLASH LITE 1.X および 3.0 アプリケーションの開発 40 テキストとフォントの操作 たとえば、ユーザーが単一行のテキスト入力フィールドを編集する場合、デバイスのテキスト入力ダイアログボックスには、 単一行のテキスト入力ボックスが表示されます。表示できる文字数よりも多くの文字をユーザーが入力すると、テキスト入 力ボックスは横にスクロールします。以下の図は、単一行のテキスト入力フィールドを編集する場合のデバイスのテキスト 入力ダイアログボックスを示しています。 ユーザーが複数行のテキスト入力フィールドを編集する場合は、次の図のように、デバイスのテキスト入力ダイアログボッ クスが必要に応じて拡張され、ユーザーが入力したテキストがすべて表示されます。 ユーザーがパスワードテキスト入力フィールドを編集する場合は、デバイスのテキスト入力ダイアログボックスにユーザー がアスタリスクとともに入力した各文字が表示されます(短い遅延後)。 文字入力の制限 SetInputTextType コマンドを使用して、ユーザーがテキスト入力ダイアログボックスに入力できる文字を制限できます。た とえば、アプリケーションに、ユーザーが年齢などの数値を入力するためのテキスト入力フィールドがあり、このテキスト 入力フィールドに ageVar という変数名が含まれているとします。 ユーザーがこのテキスト入力フィールドに数値だけを入力できるようにするには、アプリケーションに次のコードを追加し ます。 fscommand2("SetInputTextType", "ageVar", "Numeric"); テキスト入力ダイアログボックスを開くと、ユーザーはこのテキストフィールドに数値のみを入力できます。 詳しくは、『Flash Lite 1.x ActionScript リファレンスガイド』の「SetInputTextType」を参照してください。 FLASH LITE 1.X および 3.0 アプリケーションの開発 41 テキストとフォントの操作 テキスト入力フィールドおよびフォーカス矩形 デフォルトでは、以下の図に示すように Flash Lite でフォーカスがあるテキスト入力フィールドの回りに黄色の矩形が表示 されます。 フォーカス矩形を無効にするには、グローバルプロパティ _focusRect を false に設定します。ただしこの場合、テキスト フィールドにフォーカスが置かれていることは表示されず、デバイスの選択キーを押すことはできません。テキスト入力 フィールドを使用する際にフォーカス矩形を無効にしないことをお勧めします。 黄色いフォーカス矩形のビヘイビア制御について詳しくは、『Flash Lite 1.x ActionScript リファレンスガイド』の 「_focusrect」を参照してください。 Flash Lite でのフォントのレンダリング方法 Flash Lite では、次のいずれかの方法でテキストフィールドのフォントをレンダリングできます。 デバイスで利用可能なフォントの使用 デバイスで利用できることがわかっているフォントを適用するか、フォントポップ アップメニューで選択可能な汎用デバイスフォント(_ ゴシック、_ 明朝、_ 等幅、_sans、_serif または _typewriter)の いずれかを指定できます。汎用デバイスフォントを選択した場合は、実行時にその汎用フォントとデバイスフォントのマッ チングが試行されます。たとえば、_sans が sans serif フォント(使用可能な場合)にマップされます。 フォントをビットマップとしてレンダリング フォントのアウトラインを適切なピクセルの並びに変換することによってビッ トマップテキストをレンダリングし、小さいポイントサイズ(10 ポイント以下)でもテキストを読みやすくします。このオ プションを使用するには、パブリッシュする SWF ファイルに選択したフォントのアウトラインを含める必要があります (詳しくは、「43 ページの「SWF ファイルへのフォントアウトラインの埋め込み」」を参照してください)。 フォントをアンチエイリアス処理されたベクターとしてレンダリング パブリッシュする SWF ファイルに埋め込むフォント アウトラインのベクター形式の表現を使用して、アンチエイリアス処理されたテキストをレンダリングします(詳しくは、 「43 ページの「SWF ファイルへのフォントアウトラインの埋め込み」」を参照してください)。 テキストフィールドのフォントのレンダリング方法を選択するには、プロパティインスペクタのフォントのレンダリング方 法ポップアップメニューを使用します。フォントのレンダリング方法ポップアップメニューには、5 つのレンダリングオプ ションがありますが、Flash Lite 1.0 および 1.1 の開発者が使用できるのはそのうちの 3 つだけです。残りの 2 つの方法(ア ンチエイリアス(読みやすさ優先)とカスタムアンチエイリアス)は、Flash Player 8 以降に対応するアプリケーションで のみ使用できます。 テキストフィールドのフォントのレンダリング方法を選択するには : 1 ステージ上のテキストフィールドを選択します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 42 テキストとフォントの操作 2 プロパティインスペクタで、フォントのレンダリング方法ポップアップメニューから次のいずれかのオプションを選択し ます。 • 「デバイスフォントの使用」を選択すると、デバイスで使用可能なフォントが使用されます。パブリッシュする SWF ファイルにはフォントデータが埋め込まれません。 • ビットマップテキスト(アンチエイリアスなし)を選択すると、フォントアウトラインが適切なピクセルの並びに変 換され、小さい文字が判読しやすくなります。このオプションでは、パブリッシュする SWF ファイルにフォントの アウトラインを埋め込む必要があります(詳しくは、 「43 ページの「SWF ファイルへのフォントアウトラインの埋め 込み」」を参照してください )。 • アンチエイリアス(アニメーション優先)を選択すると、現在のレンダリング品質の設定に従ってテキストフィール ドのフォントがアンチエイリアス処理されます(詳しくは、「42 ページの「Flash Lite のレンダリング品質とアンチ エイリアス処理されたテキスト」」を参照してください)。このオプションでは、パブリッシュする SWF ファイルに フォントのアウトラインを埋め込む必要があります(詳しくは、「42 ページの「Flash Lite のレンダリング品質とア ンチエイリアス処理されたテキスト」」を参照してください )。 Flash Lite 1.0 および 1.1 は、アンチエイリアス(読みやすさ優先)またはカスタムアンチエイリアス処理されたフォン トのレンダリングオプションをサポートしません。これらのレンダリングオプションは、デスクトップコンピュータの Flash Player 8 およびそれ以降でのみ利用可能です。 Flash Lite のレンダリング品質とアンチエイリアス処理され たテキスト Flash Lite ではレンダリング品質として低、中、高の 3 種類を設定できます。レンダリング品質を高く設定すると、レンダ リングされるベクターのアウトラインがなめらかで正確になります。品質の設定が低いほど、表示されるアウトラインはな めらかでなくなります。デフォルトでは、中の品質を使用してアウトラインがレンダリングされます。「SetQuality」コマン ドを使用して、レンダリング品質を制御することができます(詳しくは、『Flash Lite 1.x ActionScript リファレンスガイ ド』の 「SetQuality」を参照してください)。 Flash Lite では、フォントアウトラインのベクター表現を使用してアンチエイリアス処理されたテキストをレンダリングし ます。テキストをできるだけなめらかにアンチエイリアス処理するには、Flash Lite のレンダリング品質を高に設定します。 レンダリング品質は、アンチエイリアス処理したテキストだけでなく、画面上のすべてのベクターコンテンツに影響します。 次の図は、高、中、低のレンダリング品質でアンチエイリアス処理したテキストフィールド(Arial、24 ポイント)を示し ます。 FLASH LITE 1.X および 3.0 アプリケーションの開発 43 テキストとフォントの操作 CPU の負荷が高いアニメーションやトゥイーンシーケンスなどで、アニメーションのパフォーマンスとフレームレートを 最大限に向上させる場合は、レンダリング品質を一時的に低く設定して、アニメーションが完了した後で前の設定に戻すこ とができます。 SWF ファイルへのフォントアウトラインの埋め込み テキストフィールドのフォントをレンダリングするには、Flash Lite では、デバイスで利用可能なフォントを使用するか、 パブリッシュされる SWF ファイルに埋め込まれたフォントアウトラインを使用することができます(詳しくは、「41 ペー ジの「Flash Lite でのフォントのレンダリング方法」」を参照してください)。SWF ファイルにフォントアウトラインを埋め 込むと、テキストフィールドのフォントはすべてのターゲットプラットフォームで同じように表示されます。ただし、ファ イルサイズは大きくなります。Flash Lite では、フォントアウトラインをビットマップ ( 非アンチエイリアス ) またはアンチ エイリアス処理したテキストとしてレンダリングする必要があります。 アンチエイリアスまたはビットマップとしてフォントをレンダリングする方法を使用する静的テキストフィールドの場合は、 テキストフィールドの内容を表示するのに必要なフォントアウトラインが自動的に埋め込まれます。たとえば、静的テキス トフィールドに Submit という単語が含まれている場合、この 6 つの文字(S、u、b、m、i、t)を表示するのに必要な フォントアウトラインが自動的に埋め込まれます。静的テキストフィールドの内容は変化しないので、SWF ファイルに含 める必要があるのは、これら特定の文字のフォントアウトラインのみです。 アンチエイリアスおよびビットマップのフォントレンダリング方法を使用する動的およびテキスト入力フィールドの場合は、 指定する文字のフォントアウトラインを、パブリッシュする SWF ファイルに埋め込む必要があります。この 2 種類のテキ ストフィールドは、再生中に内容が変動するので、必要なフォントアウトラインを Flash では判断できません。選択した フォントのすべての文字、文字の範囲、特定の文字のフォントアウトラインは含めることができます。パブリッシュする SWF ファイルに埋め込む文字を指定するには、文字の埋め込みダイアログボックスを使用します。 動的テキストフィールドおよびテキスト入力フィールドにフォントアウトラインを埋め込むには、以下を実行します。 1 ステージ上の動的テキストフィールドまたはテキスト入力フィールドを選択します。 2 プロパティインスペクタで、フォントのレンダリング方法ポップアップメニューからビットマップ(アンチエイリアスな し)またはアンチエイリアス(アニメーション優先)を選択します。 3 フォントのレンダリング方法ポップアップメニューの横にある埋め込みボタンをクリックし、文字の埋め込みダイアログ ボックスを開きます。 FLASH LITE 1.X および 3.0 アプリケーションの開発 44 テキストとフォントの操作 4 埋め込む文字を一覧から選択するか、埋め込む特定文字をテキストボックスに入力するか、または自動読み込みをクリッ クして選択したテキストフィールドにある文字を含めます。 5 「OK」をクリックします。 テキストフィールドのサンプルアプリケーション この節では、静的、動的およびテキスト入力フィールドを使用する簡単なアプリケーションの作成方法について説明します。 アプリケーションは、ユーザーに(静的テキストフィールドのテキストを使用して)名前を提供するよう(テキスト入力 フィールドを使用して)要求します。ユーザーが名前を入力しボタンを選択した後で、アプリケーションはユーザーあての メッセージ(動的テキストフィールドを使用して)を表示します。 テキストフィールドのサンプルアプリケーションを作成するには、以下を実行します。 1 Flash で、新規モバイルドキュメントを作成します。 2 タイムラインで(ウィンドウ > タイムライン)、ActionScript という名前のレイヤーの最初のフレームを選択します。 3 アクションパネルを開きます ( ウィンドウ > アクション )。 4 アクションパネルに stop(); と入力し、フレームの再生ヘッドを停止します。 5 ツールパネルでテキストツールを選択し、ステージ上でテキスト “Your name:” を含んでいるテキストフィールドを作成 します。 6 新しいテキストフィールドを選択状態にし、プロパティインスペクタで、フォントのレンダリング方法ポップアップメ ニューからデバイスフォントの使用を選択します。 7 最初のテキストフィールドの下に新しいテキストフィールドを作成し、プロパティインスペクタのテキストの種類ポップ アップメニューからテキスト入力を選択し、フォントのレンダリング方法ポップアップメニューからデバイスフォントの 使用を選択して、 「Var」テキストボックスに nameVar と入力し、 「テキストの周囲にボーダーを表示」オプションを選 択します。 8 ウィンドウ > サンプルライブラリ > ボタンを選択して、作成済みのボタンシンボルのライブラリを開きます。 9 ボタンライブラリで、"Circle Buttons" フォルダをダブルクリックして開きます。 10 “circle button - next” という名前のシンボルのインスタンスをステージにドラッグします。 11 テキストツールを使用して、ステージの最下部に別のテキストフィールドを作成します。 テキストフィールドには、ユーザーがテキスト入力フィールドに入力する名前が含まれているメッセージが表示されま す。 12 新しいテキストフィールドを選択した状態で、プロパティインスペクタの「Var」テキストボックスに message と入力 し、テキストの種類ポップアップメニューから動的を選択し、フォントのレンダリング方法ポップアップメニューからデ バイスフォントの使用を選択します。 アプリケーションのステージは、次の図のようになります。 FLASH LITE 1.X および 3.0 アプリケーションの開発 45 テキストとフォントの操作 A B C D A. 静的テキストフィールド B. テキスト入力フィールド(nameVar) C. ボタン D. 動的テキストフィールド(message) 13 ステージ上でボタンを選択し、アクションパネルを開きます ( ウィンドウ > アクション )。 14 アクションパネルで、次のコードを入力します。 on(press) { message = "Hello, " add nameVar; } 15 制御/ムービープレビューを選択して Adobe Device Central エミュレータでアプリケーションをテストします。 a エミュレータのキーパッドで下向き矢印キーを押し、テキストフィールドにフォーカスを設定します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 46 テキストとフォントの操作 b エミュレータの選択キーを押し、エミュレータのテキスト入力ダイアログボックスを開き、コンピュータのキーボー ドを使用して名前を入力します。 c 「OK」をクリックして、テキスト入力ダイアログボックスを閉じます。 d エミュレータのキーパッドで下向き矢印キーを再度押し、ボタンにフォーカスを設定して選択キーを押します。 スクロールテキストの作成 Flash Lite 1.1 は、スクロールテキストフィールドを作成できる scroll および maxscroll テキストフィールドプロパティをサ ポートします。scroll プロパティは、テキストブロック内で表示可能な最初の行を指定します。この値は取得および設定が可 能です。たとえば、次のコードは、変数名が story_text であるテキストフィールドを下へ 5 行スクロールします。 story_text.scroll += 5; maxscroll プロパティは、テキストブロック内でテキストの最終行が表示されている場合、テキストブロック内で表示可能な 最初の行を指定します。このプロパティは読み取り専用です。テキストフィールドの maxscroll プロパティを scroll プロパ ティと比較することによって、ユーザーがテキストフィールド内でどれくらいスクロールしたかを特定できます。この機能 は、最大スクロール位置に対するユーザーの現在のスクロール位置をフィードバックするようなスクロールバーを作成する 場合に便利です。 FLASH LITE 1.X および 3.0 アプリケーションの開発 47 テキストとフォントの操作 スクロールテキストフィールドを作成して ActionScript で制御するには : 1 Flash で、新規モバイルドキュメントを作成します。 2 テキストツールを使用して、ステージをクリックし、ステージ上で次の図のようなサイズになるまでテキストフィールド をドラッグします。 3 プロパティインスペクタの行タイプポップアップメニューから複数行を選択します。 4 プロパティインスペクタのテキストの種類ポップアップメニューから「動的テキスト」を選択します。 5 プロパティインスペクタのフォントのレンダリング方法ポップアップメニューからデバイスフォントの使用を選択しま す。 6 テキスト/スクロール可能を選択して、テキストフィールドをスクロール可能にします。 7 プロパティインスペクタの「Var」テキストボックスに、story と入力します。これにより ActionScript 変数名 story を テキストフィールドに関連付けられます。 8 テキストフィールド内をダブルクリックし、テキストを入力します。多すぎて一部が下端に表示されないぐらいの量を入 力します。 9 新しいボタンシンボルを作成し、インスタンスをステージまたはステージ外の領域に追加します。 このボタンは、key catcher ボタンとして機能し、ユーザーに表示する必要はありません。Key Catcher ボタン作成につ いて詳しくは、「23 ページの「Key Catcher ボタンの作成」」を参照してください。 10 ボタンを選択し、アクションパネル(ウィンドウ > アクション)を開きます。 11 アクションパネルで、次のコードを入力します。 on(keyPress "<Down>") { story.scroll++; } on(keyPress "<Up>") { story.scroll--; } 12 制御/ムービープレビューを選択して Adobe Device Central エミュレータでアプリケーションをテストします。 FLASH LITE 1.X および 3.0 アプリケーションの開発 48 テキストとフォントの操作 キーボードの上下矢印キーを押して(またはエミュレータのキーパッドの上下ボタン)、テキストを上下にスクロールし ます。 この例では簡単にするために、オーサリングツールでテキストフィールドのコンテンツを入力できます。ActionScript を使 用して、テキストフィールドのコンテンツを更新するように例を簡単に変更できます。実行するには、複数のテキスト フィールドに割り当てる変数名に目的のテキストを割り当てる ActionScript を記述します(この例では、story)。 story = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed ipsum. Nam tempus. Nullam sed velit eget sem consectetuer tempor. Morbi eleifend venenatis pede. Cras ac lorem eget massa tincidunt iaculis...etc." 49 第 6 章:サウンドの操作 アドビ システムズ社の Macromedia Flash Lite 1.1 は、デバイスサウンド、および標準の Flash サウンド、または Flash ネ イティブサウンドをサポートします。この章では、モバイルデバイスのアプリケーションにサウンドを組み込むために必要 な手順について説明します。 Flash Lite のサウンドについて Flash Lite 1.1 は、デバイスサウンドと標準(ネイティブ)の Flash サウンドの 2 種類をサポートしています。デバイスサウ ンドは、パブリッシュされた SWF ファイルに、MIDI や MFi などのデバイスのネイティブオーディオ形式で格納されま す。デバイスサウンドを再生する場合は、Flash Lite からデバイスにサウンドデータが渡され、デバイスでサウンドが復号 化されて再生されます。Flash Lite は、デバイスサウンドをアニメーションと同期することができません。Flash Lite 1.0 は、デバイスサウンドのみをサポートしています。 Flash Lite 1.1 は、Flash Lite 1.0 によりサポートされるデバイスオーディオ形式に加えて、Flash ネイティブオーディオを サポートしています。これは、デスクトップバージョンの Adobe Flash Player によりサポートされるのと同じタイプのサウ ンドです。デバイスサウンドとは異なり、ネイティブサウンドは、タイムラインのアニメーションと同期することができま す。 Flash Lite 1.0 は、MIDI と MFi デバイスオーディオ形式をサポートしています。Flash Lite 1.1 はこれらの形式に加えて、 SMAF(Synthetic music Mobile Application Format)のデバイスオーディオ形式と、PCM(または WAV)、ADPCM、 または MP3 音声圧縮方式により圧縮された Flash ネイティブサウンドをサポートしています。 イベントとストリーミング(同期)サウンド Flash Lite 1.1 はイベントとストリーミング(同期)サウンドをサポートしています。イベントサウンドは、タイムラインか ら独立して再生され、サウンドバッファの最後に到達するか、ActionScript によりサウンドが停止されるまで再生が続きま す。イベントサウンドは、再生前に完全にダウンロードする必要があります。 ストリーミングサウンドは、格納されたタイムラインと同期されており、多くの場合、オーディオをアニメーションと同期 するために使用されます。ストリーミングサウンドは、それを含むタイムラインの再生ヘッドが停止したときに停止します。 Flash Lite では、再生中、サウンドの再生をアニメーションと同期するために、必要に応じてアニメーションからフレーム を削除します。 タイムラインと同期できるのは、Flash ネイティブサウンドのみで、デバイスサウンドはイベントサウンドとしてのみ使用 できます。Flash Lite 1.0 は、イベントサウンドのみをサポートしています。 デバイスサウンドの使用 デバイスサウンドとは、MIDI や MFi などのデバイスのネイティブオーディオ形式でエンコードされたサウンドです。 Flash Lite では、デバイスサウンドファイルを Flash ドキュメントに直接読み込むことができません。最初に、MP3、 WAV、または AIFF などのサポートされた形式のプロキシサウンドを読み込む必要があります。次にプロキシサウンドを、 MIDI ファイルなどの外部モバイルデバイスサウンドにリンクする必要があります。ドキュメントのパブリッシュプロセス で、プロキシサウンドがリンクされた外部サウンドに置き換えられます。生成される SWF ファイルには、外部サウンドが 含まれ、モバイルデバイスでの再生に使用されます。 FLASH LITE 1.X および 3.0 アプリケーションの開発 50 サウンドの操作 Flash Lite でデバイスサウンドを使用する際は、次の制約に注意してください。 • デバイスサウンドはイベントサウンドとしてのみ使用できます。デバイスサウンドをタイムラインに同期することはでき ません。 • Flash Lite は、デバイスサウンドの「効果」、「同期」、および「編集」オプションをサポートしていません。 • • ドキュメントの各サウンドに対して外部デバイスサウンドファイルを指定する必要があります。 外部ファイルと同様、SWF ファイルのパブリッシュ時にデバイスサウンドファイルまたはサウンドバンドルファイルが 使用可能である必要がありますが、再生する SWF ファイルでは必要ありません。 さらに、単一ファイルに複数のデバイスサウンドをバンドルできます。この機能は、異なるデバイスサウンド形式をサポー トする複数のデバイスに対して同じコンテンツを作成する場合に便利です。詳細については、54 ページの「コンパウンドサ ウンドの使用」を参照してください。 Flash Lite 1.1 では、いつでもデバイスサウンドを再生できます。Flash Lite 1.0 では、ユーザーがデバイスでキーを押した ときにのみデバイスサウンドが再生されます。詳細については、53 ページの「Flash Lite 1.0 でのデバイスサウンドのトリ ガ」を参照してください。 Flash オーサリングツールのタイムラインには、次の図のようなサウンドの波形が表示されます。外部デバイスサウンドに リンクしたサウンドの波形は緑色、外部デバイスサウンドにリンクしていないサウンドの波形は青色です。 A. 外部デバイスサウンドにリンクしたサウンド B. 外部デバイスサウンドにリンクしていないサウンド ボタンへのデバイスサウンドの追加 ボタンシンボルのタイムラインにデバイスサウンドを追加して、ユーザがボタンを「クリック」したときに(ボタンに フォーカスがある状態でユーザがデバイスの「選択」を押したときに)サウンドが再生されるようにする方法を次に示しま す。これには、ボタンシンボルのタイムラインの「Down」フレームにプロキシサウンドを割り当てます。次に、プロキシ サウンドで再生するデバイスサウンドを関連付けます。 FLASH LITE 1.X および 3.0 アプリケーションの開発 51 サウンドの操作 button_sound_complete.fla という名前のアプリケーションの完成バージョンについては、 www.adobe.com/go/learn_flt_samples_and_tutorials を参照してください。サンプルとチュートリアルのページで、 Flash Lite バージョンの zip ファイルを探してダウンロードおよび解凍し、Samples フォルダに移動してサンプルにアクセ スします。 Flash ドキュメントにデバイスサウンドを追加するには: 1 Flash で、新規モバイルドキュメントを作成し、device_sound.fla として保存します。 2 ファイル/読み込み/ライブラリに読み込みを選択します。サンプルとチュートリアルのページ (www.adobe.com/go/learn_flt_samples_and_tutorials)で、Flash Lite バージョンの ZIP ファイルを探してダウン ロードおよび解凍し、Samples フォルダを選択します。"proxy.wav" ファイルを選択して、「OK」をクリックします。 このサウンドファイルが、含めるデバイスサウンドのプロキシサウンドとして機能します。 3 ウィンドウ/サンプルライブラリ/ボタンを選択します。 これにより、作成済みのボタンシンボルを含む外部ライブラリが開きます。 4 ボタンライブラリで、"Circle Buttons" フォルダをダブルクリックして開きます。 5 タイムラインで、Content レイヤーを選択します。 6 Play というボタンシンボルを、ボタンライブラリからステージにドラッグします。 7 新しいボタンをダブルクリックし、編集モードで開きます。 タイムラインが変化し、「Up」、「Over」、「Down」、および「Hit」というボタンのフレームが表示されます。 8 挿入/タイムライン/レイヤーを選択して新しいレイヤーを作成します。 9 修正/タイムライン/レイヤープロパティを選択し、レイヤー名を Sound に変更します。 10 Sound レイヤーの「Down」フレームを選択し、F6 ファンクションキーを押して新しいキーフレームを挿入します。 新しいキーフレーム FLASH LITE 1.X および 3.0 アプリケーションの開発 52 サウンドの操作 11 タイムラインに新しいキーフレームを選択した状態で、プロパティインスペクタのサウンドポップアップメニューから proxy.wav を選択します。 これによって、プロキシサウンドがキーフレームに割り当てられます。 プロパティインスペクタ 12 プロキシサウンドを実際のデバイスサウンドファイルにリンクするには、次の操作を行います。 a ライブラリで proxy.wav シンボルをダブルクリックし、サウンドプロパティダイアログボックスを開きます。 b サウンドプロパティダイアログボックスで、「デバイスサウンド」テキストボックスの右側にあるフォルダアイコンを クリックして、デバイスサウンドの選択ダイアログボックスを開きます。 FLASH LITE 1.X および 3.0 アプリケーションの開発 53 サウンドの操作 c www.adobe.com/go/learn_flt_samples_and_tutorials にアクセスします。を参照します。サンプルとチュートリ アルのページで、Flash Lite バージョンの .zip ファイルを探してダウンロードおよび解凍し、Samples フォルダに移 動して hi_hat.mid というファイルを選択します。 d 「OK」をクリックします。 13 制御/ムービープレビューを選択して、Adobe Device Central エミュレータを起動し、SWF ファイルをテストします。 エミュレータで、キーパッドの下向き矢印キーを押して再生ボタンにフォーカスをあわせ、選択キーを押してサウンドを 再生します。 Flash Lite 1.0 でのデバイスサウンドのトリガ Flash Lite 1.0 では、ユーザーがデバイスでキーを押したときにのみデバイスサウンドが再生されます。この制約を満たすに は、2 つの方法があります。1 つは、ボタンシンボルのタイムラインの「Down」フレームにサウンドを割り当てることで す。ボタンにフォーカスがあるときにユーザがデバイスの選択キーを押すと、ボタンの「Down」フレームのサウンドが再 生されます。この方法の例については、50 ページの「ボタンへのデバイスサウンドの追加」を参照してください。 Flash Lite 1.0 でデバイスサウンドをトリガする別の方法は、ユーザが、デバイスサウンドを含むタイムラインのフレームに 再生ヘッドを送るキーを押すことです。再生ヘッドがフレームに入ると、そのフレームのデバイスサウンドが再生されます。 たとえば、アプリケーションでフレーム 1 のステージにボタンがあり、デバイスサウンドがフレーム 10 に割り当てられて いるとします。次の on(press) ハンドラをボタンインスタンスに割り当てます。 on(press) { gotoAndStop(10); } 次の図は、Flash でアプリケーションがどのように見えるかを示します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 54 サウンドの操作 A B C A. このフレームに割り当てられたサウンド B. stop() アクション C. ボタンに割り当てられた gotoAndStop(10) 関数呼び出し ユーザがボタンを選択すると、フレーム 10 のサウンドが再生されます。この方法では、デバイスサウンドが gotoAndPlay() 関数に指定されたのと同じフレームに割り当てられている必要があります。たとえば、上の例では、フレーム 10 ではなく、 フレーム 11 にサウンドが割り当てられていた場合、再生ヘッドがフレーム 11 に到達してもサウンドが再生されません。 コンパウンドサウンドの使用 Flash Lite 1.1 は、複数形式のデバイス固有のサウンドを 1 つのタグ形式のデータブロックにカプセル化する能力を提供しま す。コンテンツ開発者は、これにより複数デバイスに使用できる単一コンテンツを作成する能力が得られます。たとえば、 1 つの Flash アプリケーションに、同じサウンドを MIDI と MFi の両方の形式で入れることができます。この Flash アプリ ケーションは、MIDI のみをサポートするデバイスと MFi のみをサポートするデバイスの両方で再生でき、各デバイスで は、ネイティブにサポートする特定サウンド形式で再生されます。 Flash Lite Sound Bundler と呼ばれるユーティリティを使用して、複数のデバイスサウンドを単一のサウンドバンドル (FLS)ファイルにバンドルできます。その後、標準デバイスサウンドを追加するのと同様に、最初にプロキシサウンドを Flash ドキュメントに読み込み、パブリッシュ時にプロキシサウンドを置き換えるサウンドバンドルファイルを指定するこ とで、FLS ファイルを Flash Lite ドキュメントに追加します。Flash Lite アプリケーションへのデバイスサウンドの追加の 詳細については、50 ページの「ボタンへのデバイスサウンドの追加」を参照してください。 注意:本マニュアルの作成時点では、Sound Bundler ユーティリティは Windows 上でのみサポートされています。 サウンドバンドルファイルを作成するには : 1 Macromedia Flash Lite 1.1 コンテンツ開発キット(CDK)を www.adobe.com/go/developer_flashlite から探し、ダ ウンロードして、ファイルを解凍します。(CDK には、サウンドバンドルアプリケーションが含まれます)。 2 CDK からファイルを解凍したフォルダに移動し、Flash Lite Sound Bundler アプリケーション (FlashLiteBundler.exe)を起動します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 55 サウンドの操作 Sound Bundler はフローティングウィンドウとして表示されます。 3 デスクトップから、バンドルする最初のサウンドファイルをフローティングウィンドウ内にドラッグします。 Flash Lite 1.1 Sound Bundler ウィンドウが表示されます。Sound Bundler ウィンドウの上部には、サウンドバンドル に追加したファイルの一覧が表示されます。ウィンドウの下部には、サウンド形式、サウンドデータのサイズ、ファイル 名など、サウンドバンドル内のサウンドに関する情報が表示されます。 A. サウンドバンドル内のファイルの一覧 B. サウンドバンドル内のファイルに関する情報 4 バンドルする残りのサウンドファイルをウィンドウ内にドラッグします。 複数のファイルを同一のオーディオ形式でバンドルすることはできません。たとえば、2 つの MIDI ファイルを同じ FLS ファイル内にバンドルすることはできません。 5 サウンドバンドルからファイルを削除するには、サウンドファイルの一覧からファイルを選択して「削除」をクリックし ます。サウンドバンドル内のすべてのファイルを削除するには、「すべてを削除」をクリックします。 FLASH LITE 1.X および 3.0 アプリケーションの開発 56 サウンドの操作 6 「バンドルを保存」をクリックして FLS ファイルを保存します。 7 Sound Bundler を終了するには、Sound Bundler ウィンドウを右クリックし、「終了」を選択します。 次の手順では、サウンドバンドル (FLS) ファイルを Flash ドキュメントに追加します。操作手順は Flash ドキュメントに 標準のデバイスサウンドを追加する手順と同じですが、プロキシサウンドを置き換える単一のデバイスサウンドファイル を指定する代わりに、作成した FLS ファイルを指定する点が異なります。詳細については、49 ページの「デバイスサウ ンドの使用」を参照してください)。 Flash ネイティブサウンドの使用 Flash Lite 1.1 は、Flash Lite 1.0 によりサポートされるデバイスサウンド形式に加えて、標準、またはネイティブ Flash サ ウンドをサポートしています。Flash Lite 1.1 のネイティブサウンドは、イベントサウンドまたは同期サウンドのいずれかと して再生できます(49 ページの「イベントとストリーミング(同期)サウンド」を参照してください)。 Flash Lite 1.1 コンテンツにネイティブサウンドを追加する一般的なワークフローは、Flash デスクトップアプリケーション の場合と同じですが、次の例外があります。 • Flash Lite は外部の MP3 ファイルのロードをサポートしていません。 • Flash Lite は、Sound オブジェクトをサポートしていません。 • Flash Lite は、「スピーチ」圧縮オプションをサポートしていません(『Flash ユーザーガイド』の「書き出し時のサウン ドの圧縮」を参照してください)。 Flash でのネイティブサウンドの操作の詳細については、『Flash ユーザーガイド』で次のトピックを参照してください。 • 『Flash ユーザーガイド』の「サウンドの読み込み」 • 『Flash ユーザーガイド』の「ドキュメントへのサウンドの追加」 • 『Flash ユーザーガイド』の「キーフレームでのサウンドの開始および停止」 • 『Flash ユーザーガイド』の「書き出し時のサウンドの圧縮」 57 第 7 章:パフォーマンスとファイルサイズを改善 するためのコンテンツの最適化 Flash コンテンツを最適化するには、基本原則を留意してください。 パフォーマンスの最適化 Flash 開発者にとって、極度に複雑なアートワーク、必要以上のトゥイーン処理、および透明の使い過ぎは避けるべきだと されていました。デスクトップバージョンでは、このようなパフォーマンスの問題はほとんど解決されていますが、Adobe Flash Lite の開発者はまだモバイルデバイスの制限による課題に直面しています。たとえば、デバイスによってパフォーマ ンスにばらつきがあり、それが極端な場合もあります。また、モバイルオーサリングではさまざまなデバイスへのパブリッ シュが必要になるので、開発者は最もパフォーマンスの低いデバイスに合わせたオーサリングを実行しなければならないこ ともあります。 モバイルコンテンツを最適化するには、両立しないものどうしの妥協点を見つけなければならない場合があります。たとえ ば、あるテクニックを使用すると表示がきれいになり、別のテクニックを使用するとパフォーマンスが向上するとします。 そのいずれを優先するかを決めるために、エミュレータでのプレビューとターゲットデバイスでのプレビューを何度も繰り 返し行うことになります。 Flash の以前のバージョンでは、Flash Lite 1.x 用のエミュレータは Flash オーサリング環境の一部でした。Flash の以降の バージョンでは、エミュレータが Adobe® Device Central に組み込まれています。Device Central を使用すると、Flash Lite プロジェクトをさまざまなデバイスでエミュレートできます。また、デバイスの表示、メモリ使用、およびパフォーマ ンスを特定のデバイスでエミュレートできます。エミュレータを使用してモバイルデバイス用の Flash Lite コンテンツを最 適化する方法については、Device Central のマニュアルの「モバイルデバイス向けのコンテンツを作成するためのヒント」 を参照してください。 58 第 8 章:Flash Lite コンテンツのプレビュー Adobe Flash CS4 Professional には Adobe Device Central CS4 で利用できる Adobe Flash Lite エミュレータが搭載され ていますが、このエミュレータを使用すると、アプリケーションを実際のデバイスで表示して使用した場合の動作をプレ ビューできます。エミュレータでのアプリケーションの動作を確認してから、アプリケーションを実際のデバイスで試すこ とができます。この章では、Flash で使用できる Flash Lite のプレビューおよびデバッグ機能について説明します。 Flash Lite のプレビュー機能の概要 Flash CS4 Professional に搭載されている Flash Lite のプレビュー機能は Adobe Device Central の一部であり、デバイス プロファイルの広範なデータベースとデバイスエミュレータの両方で構成されます。Device Central は、他にも多くの Adobe 製品(Adobe Creative Suite®、Adobe Dreamweaver など)に対応しています。® Adobe Device Central エミュレータでは、Flash オーサリングツール内で Flash Lite コンテンツをプレビューできます。エ ミュレータは、ターゲットデバイスのビヘイビアと外観に合わせて調整するように設定されています。Device Central のイ ンターフェイスを使用して、ターゲットデバイスを選択および管理します。また、着信音、ブラウザ、またはスタンドア ローンアプリケーションなど、アプリケーションのターゲットとなる Flash Lite コンテンツタイプを指定します。Device Central では、テストデバイスおよび Flash Lite コンテンツタイプの組み合わせで定義されるデバイス設定により、アプリ ケーションで使用可能な機能が指定されます。たとえば、サポートされるオーディオフォーマットやネットワーク接続を確 立する機能などです。Flash Lite コンテンツタイプについて詳しくは、「60 ページの「Flash Lite コンテンツタイプ」」を参 照してください。 エミュレータの操作方法などの詳細については、Device Central のヘルプを参照してください。 エミュレータでサポートされていないプレビュー機能 Adobe Device Central エミュレータでは、Flash CS3 Professional のプレビューウィンドウで利用できる機能のうち一部 の機能がサポートされていません。デスクトップの Flash プレビューウィンドウでは利用でき、Adobe Device Central エ ミュレータでは利用できない機能の一覧を次に示します。 • 「変数のリストアップ」( デバッグ/変数のリストアップ ) および「オブジェクトのリストアップ」( デバッグ/オブジェク トのリストアップ ) 機能 • バンド幅プロファイラ、ストリーミング、およびフレーム毎データ量の各機能 • 表示/ダウンロードのシミュレートメニューコマンド • ActionScript デバッガ • • 表示/再描画する領域を表示メニューコマンド 「制御パネル」ツールバー ( ウィンドウ/ツールバー/制御パネル ) エミュレータの使用 エミュレータを起動するには、Flash デスクトップコンテンツをプレビューするときと同じように、Flash オーサリング ツールから制御/ムービープレビューを選択します。ただし、Adobe Device Central と Flash CS3 Professional のデスク トップコンテンツのプレビューウィンドウでは、外観と機能が異なります。 FLASH LITE 1.X および 3.0 アプリケーションの開発 59 Flash Lite コンテンツのプレビュー Adobe Device Central の呼び出し 制御/ムービープレビューを選択するか Ctrl+Enter を押して Device Central を開始すると、Flash から Device Central に SWF が書き出されていることを示すプログレスバーが表示されます。書き出しが完了すると、Device Central が起動して エミュレータがアクティブになり、SWF がロードされます。 Device Central の「デバイスセット」リストには、Flash でアプリケーションに保存されたすべてのターゲットデバイスが 表示されます。デフォルトでは、セットの先頭のデバイスがエミュレーションの対象として選択されています。選択されて いるコンテンツタイプは、アプリケーションの作成時に保存したコンテンツタイプです (Flash Lite のコンテンツタイプにつ いて詳しくは、「60 ページの「Flash Lite コンテンツタイプ」」を参照してください )。 アプリケーションは、さまざまなコンテンツタイプとデバイスでテストできます。コンテンツタイプを変更したり、デバイ スセットからデバイスを追加したり削除すると、Flash のデバイス設定も自動的に変更されます。 別のデバイスでコンテンツがどのように表示されるかをテストするには、デバイスセットパネルまたは使用可能なデバイス パネルで別のデバイスをダブルクリックします。テスト中のデバイスの隣に回転アイコンが表示され、選択したデバイスで のデバイス実行シミュレーションに変わります。 エミュレータのデバッグオプションの設定 Adobe Device Central エミュレータでは、コンテンツの実行中にデバッグメッセージを Flash の出力パネルに出力できま す。エミュレータでも、ポップアップ形式の出力パネルに同じメッセージが表示されます。 エミュレータによって次の種類の情報が出力されます。 トレースメッセージ。Flash Lite アプリケーション内で trace() 関数呼び出しによって生成されます。trace() の使用について 詳しくは、『Flash Lite 1.x ActionScript リファレンスガイド』を参照してください。 情報 メッセージ。選択したテストデバイスや SWF ファイルサイズなどに関する一般的な情報なども含まれます。これらの メッセージは、エミュレータの警告パネルに表示されます。 警告 メッセージ。再生に影響する可能性がある、Flash Lite コンテンツの問題に関する情報です。 エミュレータで生成する情報の種類は、次の方法で絞り込むことができます。 Flash Lite の出力オプションを設定するには : 1 制御/ムービープレビューを選択します。アプリケーションが Adobe Device Central に書き出され、エミュレータに表 示されます。 2 表示/ Flash 出力/ Show in Device Central を選択します。 • 「トレース」オプションを選択または選択解除します。 • 「情報」オプションを選択または選択解除します。 • 「警告」オプションを選択または選択解除します。 エミュレータの操作 コンピュータのマウスまたはキーボードショートカットを使用して、エミュレータのキーを操作できます。エミュレータで は次のキーを操作できます。 • 数値キー (0 ∼ 9)、アスタリスク (*) キー、およびシャープ (#) キー • 方向キー ( 上、下、左、右、および選択 ) • 左ソフトキーと右ソフトキー FLASH LITE 1.X および 3.0 アプリケーションの開発 60 Flash Lite コンテンツのプレビュー A B C D A. ソフトキー B. 選択キー C. その他のサポートされているキー D. 方向キー マウスを使用してエミュレータのキーを直接クリックするか、次の対応するキーボードショートカットを使用することが できます。 • キーボードの矢印キー(左、右、上、下)は、エミュレータの方向キーにそれぞれ対応します。 • Enter キーまたは Return キーは、エミュレータの選択キーに対応します。 • PageUp キーと PageDown キーは、それぞれエミュレータの左右のソフトキーに対応します。 • キーボードの数値キーは、エミュレータの数値キーと対応します。 アプリケーションをテストする際のエミュレータの操作方法の詳細については、Adobe Device Central のオンラインヘ ルプを参照してください。 Flash Lite コンテンツタイプ 「4 ページの「Flash Lite コンテンツタイプについて」」で説明したように、Flash Lite はさまざまなデバイスにインストール されます。Flash Lite のインストールごとに、1 つ以上のアプリケーションまたはコンテンツタイプがサポートされます。た とえば、一部のデバイスでは Flash Lite を使用して、Flash ベースのスクリーンセーバーやアニメーション化された着信音 を有効にします。モバイル Web ページに埋め込まれた Flash コンテンツをレンダリングするデバイスもあります。 次の表は、利用可能なすべての Flash Lite コンテンツタイプとその説明の一覧です。「3 ページの「Flash Lite 1.x の対応状 況」」で説明したように、コンテンツタイプのほとんどは、特定の地理的領域または特定のモバイル演算子でのみ使用可能で す。表の第 3 列は、領域およびモバイル演算子による利用可能な各コンテンツタイプを示しています。利用可能なその他の Flash Lite コンテンツタイプに関する最新情報については、www.adobe.com/go/mobile_supported_devices にある 「Flash サポート対象の携帯デバイス」のページを参照してください。 Flash Lite は次のコンテンツタイプをサポートしています。 Flash Lite コンテンツタ 説明 利用状況 イプ アドレス帳 デバイスのアドレス帳アプリケーションの項目と SWF ファイルを関連付けることができます。 アラーム デバイスのアラームとして再生する SWF ファイル NTT DoCoMo およびソフトバンク (日本のみ) KDDI およびソフトバンク(日本のみ) を選択できます。 ブラウザ モバイル Web ページに埋め込んでデバイスの NTT DoCoMo、KDDI、およびソフトバ Web ブラウザで表示する Flash コンテンツをレン ンク(日本のみ) ダリングします。 呼び出し履歴 ユーザーのアドレス帳の各エントリに関連付けられ ているイメージやアニメーションを、名前や電話番 号と共に表示します。 KDDI ( カシオ製の機種のみ ) FLASH LITE 1.X および 3.0 アプリケーションの開発 61 Flash Lite コンテンツのプレビュー Flash Lite コンテンツタ 説明 利用状況 イプ 呼び出し画面 発着信時にアニメーションを表示します。 NTT DoCoMo および KDDI (日本のみ) 着 Flash 着信音として再生する SWF ファイルを選択できま KDDI す。 データボックス デバイスのデータボックスアプリケーションで DoCoMo、KDDI およびソフトバンク Flash コンテンツをレンダリングします。これによ (日本のみ) り、ユーザーはデバイス上のマルチメディアファイ ルを管理およびプレビューできます。 データフォルダ デバイスのデータフォルダアプリケーションで KDDI Flash コンテンツをレンダリングします。これによ り、ユーザーはデバイス上のマルチメディアファイ ルを管理およびプレビューできます。 アイコンメニュー ユーザーがデバイスのランチャーのカスタムアイコ ンメニューを選択できるようにします。 KDDI ( カシオ製の機種のみ ) イメージビューア イメージビューアアプリケーションを使用して、 ユーザーは SWF ファイルを含む、デバイス上のマ NTT DoCoMo(日本のみ) ルチメディアファイルを管理およびプレビューでき ます。 着信コール 着信時にアニメーションを表示します。 DoCoMo、KDDI およびソフトバンク (日本のみ) メーラー マルチメディア 電子メールメッセージの送受信時にアニメーション を表示します。 ソフトバンク(日本のみ) SWF ファイル ( およびその他のマルチメディア形 KDDI 式 ) をプレビューします。 マイピクチャ マイピクチャアプリケーションを使用して、ユー ザーはデバイス上の SWF ファイルおよびその他の NTT DoCoMo(日本のみ) イメージ形式を管理およびプレビューできます。 OpenEMIRO デバイスがスタンバイモードから復帰したときに KDDI ( カシオ製の機種のみ ) Flash Lite コンテンツを表示します。これは他のデ バイスのウェイクアップ画面のコンテンツタイプに 似ています。 スクリーンセーバー SMIL プレーヤー デバイスのスクリーンセーバーを表示します。 KDDI およびソフトバンク(日本のみ) SWF ファイル ( およびその他のマルチメディア形 KDDI 式 ) をプレビューします。 スタンドアローンプレー ヤー Flash Lite をスタンドアローンアプリケーションと Symbian Series 60 および UIQ の限定 して使用して、ユーザーがデバイスに保存されてい る SWF ファイルや受信ボックスで受信した SWF デバイスでグローバルに使用可能。 ファイルを起動して表示できるようにします。 待受画面 デバイスの待受画面(または壁紙画面)を表示しま す。 NTT DoCoMo および KDDI (日本のみ) サブ LCD 一部の折りたたみ型携帯端末の外側にあるサブ画面 にコンテンツを表示します。 KDDI ウェイクアップ画面 電話機の起動時にアニメーションを表示します。 NTT DoCoMo(日本のみ) エミュレータの Flash Lite 固有の情報 エミュレータには、Flash Lite アプリケーション固有の情報が表示されるパネルがいくつかあります。各パネルはウィンド ウの右側に配置され、Flash の場合と同様に開いたり閉じたりすることができます。 FLASH LITE 1.X および 3.0 アプリケーションの開発 62 Flash Lite コンテンツのプレビュー 各パネルの詳細と使用方法については、Adobe Device Central のオンラインヘルプを参照してください。 スクリーンサイズと利用可能なステージサイズ ターゲットデバイスと Flash Lite コンテンツタイプの組み合わせによって、Flash Lite アプリケーションで使用できるスク リーンの領域が決まります。使用可能なステージ領域は、デバイスのフルスクリーンサイズ以下です(同サイズを含む)。 たとえば、Nokia Series 60 デバイスのスタンドアローンプレーヤーで、SWF ファイルをフルスクリーンモードで実行する 場合、使用可能なステージ領域はデバイスのフルスクリーンサイズ(176 x 208 ピクセル)と同じです。その他のデバイス (日本で販売されているデバイスなど)では、特殊なコンテンツタイプ(アドレス帳やスクリーンセーバーなど)で実行され る SWF ファイルで使用可能なステージ領域は、デバイスのフルスクリーンサイズよりも小さい場合があります。たとえば、 Fujitsu 700i のスクリーンサイズは 240 x 320 ピクセルですが、このデバイスのアドレス帳アプリケーションで実行される SWF ファイルで使用可能なステージ領域は 96 x 72 ピクセルです。 SWF ファイルのステージサイズが使用可能なステージサイズと異なる場合は、使用可能なステージ領域に収まるように、 Flash Lite によってコンテンツが(縦横比を保って)伸縮されます。エミュレータでコンテンツをプレビューする場合、ア プリケーションのステージサイズが使用可能なステージ領域と異なるときにも警告が表示されます。 意図しない伸縮の問題を回避するために、Flash ドキュメントのステージサイズを、選択したテストデバイスやコンテンツ タイプで使用可能なステージ領域と一致させることをお勧めします。 エラー Adobe Device Central エミュレータでは、コンテンツのプレビュー中に警告メッセージが生成されます。ある種類の警告 メッセージはエミュレータにのみ表示され、実際に発生したエラーまたは発生する可能性があるエラーの情報を提供します。 別の種類の警告メッセージは、エミュレータと実際のデバイスの両方に表示されます。 SWF ファイルに関するデバッグ情報は、エミュレータのみに表示される警告メッセージです。たとえば、Flash Lite または 現在選択しているテストデバイスで使用可能な Flash Lite のバージョンでサポートされていない ActionScript が SWF ファ イルに含まれている場合は、警告メッセージが表示されます。 そのほかのメッセージは、エミュレータと実際のデバイスの両方に表示される場合があります。この種類のエラーはエラー ダイアログボックスに表示され、アプリケーションを続行するためにユーザーはエラーダイアログボックスを閉じる必要が あります。次の図は、エミュレータに表示されるエラーダイアログボックスの例を示しています。 デバイスに表示されるエラーダイアログボックスには、" 次のコンテンツに問題があります " という文章に続いてエラー番号 が表示されます。エミュレータのエラーダイアログボックスには、簡単なエラーストリングも表示されます。エミュレータ の出力パネルには、エラーの詳しい説明が表示されます。 次の表は、Flash Lite プレーヤーで発生するすべてのエラーと、エラー番号、エラーダイアログボックスに表示される簡単 な説明、および 出力パネルに表示される詳しい説明の一覧です。 FLASH LITE 1.X および 3.0 アプリケーションの開発 63 Flash Lite コンテンツのプレビュー エラー番号 エラーストリング 説明および考えられる原因 1 メモリ不足です。 エミュレータのヒープメモリが不足しています。特に指定しない 限り、エミュレータは SWF ファイルで使用するために 1 MB の メモリを割り当てます。 2 スタックの限界に達しました。 エミュレータは、スタックの限界に到達したか、限界を超過した ことを検出しました。これには、複数レベルのネストされたムー ビークリップや複雑なベクターの描画など、さまざまな原因が考 えられます。 3 SWF が破損しています。 エミュレータは SWF データが壊れていることを検出しました。 4 ActionScript が停止しました。 エミュレータは、SWF ファイル内の特定の ActionScript コード の実行に時間がかかりすぎていることを検出しました。その結 果、エミュレータは ActionScript コードの実行を停止しました。 5 ActionScript 処理 エミュレータは、存在しないムービークリップへの参照など ActionScript エラーを検出しました。 6 ActionScript Infinity ループ エミュレータは無限ループ、またはネストされた ActionScript (たとえば、ネストされた if..else ステートメント)を検出しまし た。 7 無効なフレームバッファ エミュレータは、無効なフレームバッファを検出しました。 8 無効な表示矩形 エミュレータは、無効な表示矩形を検出しました。 9 無効なフレーム番号 エミュレータは SWF ファイルによる無効なフレーム番号への移 動または解決の試行を検出しました。 10 無効なキー エミュレータは、無効なキー入力を検出しました。 11 不良 JPEG データ エミュレータは、SWF ファイルの JPEG または PNG データが破 損している、JPEG データをデコードするための十分なメモリが ない、または JPEG データのフォーマットがサポートされていな いことを検出しました。 12 不正なサウンドデータ エミュレータは、SWF ファイルにサポートされていないサウン ドデータフォーマットが含まれていることを検出しました。 13 ルートムービーのアンロード エミュレータは、ルートムービーがアンロードされ、他の SWF ファイルと置換されなかったことを検出しました。 プラットフォーム機能の決定 ターゲットデバイスおよび Flash Lite コンテンツタイプの各組み合わせは、ナビゲーションタイプ、サポートされているデ バイスサウンドフォーマット、またテキスト入力サポートなど利用可能な Flash Lite 機能のセットを定義します。情報デ バッグオプションがエミュレータ設定ペインで使用可能な場合、エミュレータは現在選択しているデバイスおよびコンテン ツタイプ用のプラットフォーム機能のリストを生成します。デバッグオプション設定について詳しくは、「59 ページの「エ ミュレータのデバッグオプションの設定」」を参照してください。 次の表では、エミュレータでアプリケーションのテストをする際、出力パネルに報告されるとおり、Flash Lite プラット フォーム機能を説明します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 64 Flash Lite コンテンツのプレビュー 機能名 説明および考えられる値 DeviceSoundKeyOnly ユーザーがデバイスのキー(はい)を押す操作、または他のユーザー操作(いいえ)に対 応してデバイスサウンドを再生するかどうかを示します。詳しくは、「53 ページの 「Flash Lite 1.0 でのデバイスサウンドのトリガ」」を参照してください。 DeviceSoundsOrdered プラットフォームによってサポートされるデバイスサウンド形式のコンマで区切られたリ スト。サウンド形式の順序は、SWF ファイルに複数のサウンド形式を持つサウンドバン ドルファイルが含まれている場合に Flash Lite が再生するサウンドを示します。サウンド バンドルについて詳しくは、 「54 ページの「コンパウンドサウンドの使用」」を参照して ください。 FSCommand Flash Lite が fscommand()、または fscommand2() 関数呼び出しを処理する頻度を示し ます。有効な値は次のとおりです。 OnePerKey:キーを押すたびに 1 度だけ fscommand() の呼び出しが可能です。 OnePerKeyPerFrame:キーを押すたびに 1 度だけ fscommand() の呼び出しが可能で す。 All:fscommand() を呼び出す頻度には制限がありません。 None:fscommand() 関数はサポートされていません。 InputText プラットフォームがテキスト入力をサポートするかどうか(はい)または(いいえ)を示 します。テキスト入力について詳しくは、「38 ページの「テキスト入力フィールドの使 用」」を参照してください。 LoadMovie Flash Lite が loadMovie() 関数呼び出しを処理する頻度を示します。有効な値は次のとお りです。 OnePerKey:キーを押すたびに 1 度だけ loadMovie() の呼び出しが可能です。 OnePerKeyPerFrame:イベントハンドラまたはフレームごとに 1 度だけ loadMovie() の呼び出しが可能です。 All:loadMovie() を呼び出す頻度には制限がありません。 None:loadMovie() 関数はサポートされていません。 LoadVars Flash Lite が loadVariables() 関数呼び出しを処理する頻度を示します。有効な値は次のと おりです。 OnePerKey:キーを押すたびに 1 度だけ loadVariables() の呼び出しが可能です。 OnePerKeyPerFrame:イベントハンドラまたはフレームごとに 1 度だけ loadVariables() の呼び出しが可能です。 All:loadVariables() を呼び出す頻度には制限がありません。 None:loadVariables() 関数はサポートされていません。 ループ SWF コンテンツがタイムラインの終わりに到達する際にループ(タイムラインの最初の フレームに戻る)するか(はい)、または最後のフレームで停止するか(いいえ)を示し ます。 MultipleDeviceSound デバイスが複数デバイスサウンドの混在をサポートするか(はい)、またはサポートしな いか(いいえ)を示します。 NativeSounds これは、Flash Lite プレーヤーがネイティブに再生できる(再生のため Flash Lite プレー ヤーからデバイスに渡されたデバイスサウンドではなく)サウンド形式の順番づけされて いないリストです。指定できる値は NativeSound_PCM、NativeSound_ADPCM お よび NativeSound_MP3 です。 FLASH LITE 1.X および 3.0 アプリケーションの開発 65 Flash Lite コンテンツのプレビュー 機能名 説明および考えられる値 NavigationType プラットフォームによってサポートされる 2 方向または折り返し付きの 4 方向ナビゲー ションモードを示します。ナビゲーションモードについて詳しくは、「19 ページの「タブ ナビゲーションのモード」」を参照してください。有効な値は次のとおりです。 2Way:上向き矢印キーと下向き矢印キーのみがサポートされます。 4Way:ナビゲーションのために 4 つの矢印キー(上、下、左および右)すべてがサポー トされます。 4WayWrapAround:4Way と同じですが、フォーカスが表示の最上部に折り返されま す。 SMS Flash Lite が SMS メッセージの送信をサポートする(はい)、サポートしないか(いい え)を示します。 getUrl Flash Lite が getURL() 関数呼び出しを処理する頻度を示します。有効な値は次のとおり です。 OnePerKey:キーを押すたびに 1 度だけ getURL() の呼び出しが可能です。 OnePerKeyPerFrame:イベントハンドラまたはフレームごとに 1 度だけ getURL() の 呼び出しが可能です。 All:getURL() を呼び出す頻度には制限がありません。 None:getURL() 関数はサポートされていません。 keySet Flash Lite がデバイスでサポートするキーイベントを示します。キーイベント処理につい て詳しくは、「22 ページの「キーイベントの処理」」を参照してください。有効な値は次 のとおりです。 All:すべてのキーイベントが処理されます。 Phone:0-9、#、* 、Select および 4 方向ナビゲーションキーに関連するイベントのみ を処理します。 mouseType Flash Lite によってサポートされるマウスイベントを示します。有効な値は次のとおりで す。 None:マウスイベントはサポートされません。 Partial:press、release、rollOver および rollout イベントはサポートされます。 releaseOutside、dragOut および dragOver イベントはサポートされません。 Mouse:Mouse Up / Mouse Down / Mouse Move メッセージが処理されます。た とえば、仮想カーソル機能を持つ NTT DoCoMo の電話などです。つまり、マウスの移動 は rollOver / rollOut イベントをトリガする必要があるということです。 soundEnabled サウンドがデバイス上で有効(はい)、または無効(いいえ)かを示します。 66 第 9 章:Flash Lite 1.x ActionScript の学習 Flash Lite 1.x ActionScript について ActionScript を使用することで、Adobe Flash Lite アプリケーションにプログラミングロジックおよびインタラクティビ ティを追加することができます。アドビ システムズ社の Macromedia Flash Lite 1.0 と Macromedia Flash Lite 1.1 の ActionScript バージョンは、総称して Flash Lite 1.x ActionScript と呼ばれるアドビ システムズ社のハイブリッド版 Macromedia Flash 4 ActionScript です。通話やテキストメッセージの開始、デバイスからの時刻や日付の取得などの Flash Lite Player に固有のコマンドおよびプロパティが追加されています。 Flash Lite 1.x ActionScript の概要 Flash Lite 1.x ActionScript は次の部分で構成されています。 Flash Player 4 ActionScript これには、演算子 ( 例 : 比較演算子、代入演算子 )、ムービークリッ ププロパティ ( 例 : _height、_x および _y)、タイムライン制御関数 ( 例 : gotoAndPlay() または stop())、loadVariables() および loadMovie() 関数 (Flash Lite 1.1 のみ ) などのネットワーク関数が含まれます。サポートしていない Flash 4 ActionScript の一覧については、 67 ページの「Flash Lite 1.x ActionScript がサポートしていない Flash 4 ActionScript」を参照してください。 電話統合コマンドおよびプロパティ Flash Lite には、たとえばデバイスに日付や時刻に関する情報を照会したり、通話や ショートメッセージサービス (SMS) テキストメッセージを開始したり、またはデバイスにインストールされた外部アプリ ケーションを開始したりするコマンドが用意されてい ます。 プラットフォーム機能変数 (Flash Lite 1.1 のみ ) これらのプロパティはデバイスの機能や Flash Lite ランタイム環境に関 する情報を提供します。たとえば、_capLoadData 変数は、ネットワーク経由でデータをロードできるアプリケーションかど うかを示します。 fscommand2() 関数 fscommand() 関数同様、fscommand2() 関数を使用して、ホスト環境また はシステム ( この場合は携 帯電話やモバイルデバイス ) と通信することができます。fscommand2() 関数は、任意の数の引数を渡したり、fscommand() のように次のフレームまで待つことなく、即時に戻り値を取得したりできる能力など、fscommand() 関数の機能を拡張した ものになっています。 Flash Lite 1.0 と Flash Lite 1.1 ActionScript の違い 次の Flash Lite 1.1 ActionScript の機能は Flash Lite 1.0 ではサポートされていません。 • ネットワークアクセスまたはネットワークステータス情報。たとえば、Flash Lite 1.0 では loadVariables() 関数や loadMovie() 関数を使用して外部データや SWF ファイルをロー ドしたり、各種 fscommand2() コマンドを使用してデバ イスの接続シグナル強度やネットワー ク要求のステータスを設定したりすることはできません。 • デバイスの時刻および日付情報の取得。 • プラットフォーム機能変数。これらの変数で、Flash Lite プラットフォームとデバイスの機能に関する情報が提供されま す。 • fscommand2() 関数と、SetSoftKeys および FullScreen などの関連コマンド。 • scroll および maxscroll テキストフィールドプロパティ。 FLASH LITE 1.X および 3.0 アプリケーションの開発 67 Flash Lite 1.x ActionScript の学習 Flash Lite 1.x ActionScript がサポートしていない Flash 4 ActionScript 次の Flash 4 ActionScript の機能は Flash Lite 1.x ActionScript ではまったくサポートされていない か、一部しかサポート されていません。 • startDrag() 関数および stopDrag() 関数。 • Flash Lite 1.x ActionScript では、Flash Player 4 でサポートされているボタンイベントの一部のみがサポートされてい ます。ボタンイベントの処理の詳細については、18 ページの「インタラクティブ機能とナビゲーション機能の作成」を 参照してください。 • Flash Lite 1.x ActionScript では、Flash Player 4 でサポートされているキーイベントの一部のみがサポートされていま す。Flash Lite でサポートされているキーイベントについては、18 ページの「インタラクティブ機能とナビゲーション 機能の作成」を参照してください。 • _dropTarget プロパティ。 • _soundBufTime プロパティ。 • _url プロパティ。 • String() 変換関数。 Flash Lite 1.x ActionScript で使用できない機能 Flash Lite Player は Flash Player の旧バージョンを基にしているので、最近のリリースの Flash Player や使い慣れている他 のプログラミング言語で利用可能なプログラミング機能すべてをサポー トしているわけではありません。この節では、 Flash Lite 1.x ActionScript で使用できないプログラミ ング機能を取り上げ、代替手段や回避策を説明します。 ユーザー定義関数 Flash Lite 1.x では、カスタム関数の定義および呼び出し機能はサポートしていません。ただし、call() 関数を使用して、タイムラインの任意のフレームにあるコードを実行できます。詳細については、70 ページの「call() 関数 を使用しての関数作成」を参照してください。 ネイティブ配列、オブジェクト、その他の複雑なデータタイプ Flash Lite 1.x では、ネイティブ配列データ構造やその他 の複雑なデータタイプをサポートしていません。ただし、コンマ区切りの連結されたストリングを動的に評価する eval() 関 数の使用を含む疑似配列によりネイティブ配列と同じ機能を果たすことができます。詳細については、69 ページの「配列の エミュレート」を参照してください。 外部イメージあるいはサウンドファイルのランタイムロード Flash Player のデスクトップバージョンと異なり、Flash Lite 1.x ActionScript では外部 JPEG ファイルや MP3 ファイルをロードすることができません。Flash Lite 1.1 では、 loadMovie() 関数を使用して、外部 SWF ファイルをロードできます。詳細については、75 ページの「外部 SWF ファイルの ロード」を参照してください。 Flash 4 ActionScript 入門 アドビ システムズ社の Macromedia Flash Lite 1.x ActionScript は、アドビ システムズ社の Macromedia Flash Player 4 で利用可能になったバージョンの ActionScript をベースにしています。このため、Flash Player ( デスクトップシステム用 ) のその後のバージョンで利用可能になったプログラミング機能には、Flash Lite 1.x アプリケーションでは使用できないも のがあります。 Flash 4 ActionScript のシンタックスや機能に詳しくない方や、以前の Flash 開発作業でのいくつかの詳細を忘れてしまっ た方のために、このセクションでは、Flash Lite アプリケーションで Flash 4 ActionScript を使用する際の入門情報を提供 します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 68 Flash Lite 1.x ActionScript の学習 ムービークリッププロパティの取得と設定 ムービークリッププロパティの取得と設定 ( 設定可能な場合 ) を行うには、ドットシンタックス、または setProperty() 関数 か getProperty() 関数を使用できます。また、tellTarget() 関数も使用することが可能です。 ドットシンタックスを使用するには、ムービークリップインスタンス名、ドット (.)、プロパティ名の順に指定します。たと えば、次のコードでは、cartoonArea という名前のムービークリップの x 画面座標 (_x ムービークリッププロパティで表され る ) を取得し、x_pos という名前の変数にその結果を割り当てます。 x_pos = cartoonArea._x; 次の例は、前の例と同等ですが、getProperty() 関数を使用してムービークリップの x 位置を取得します。 x_pos = getProperty(cartoonArea, _x); setProperty() 関数では、次の例で示しているように、ムービークリップインスタンスのプロパ ティを設定できます。 setProperty(cartoonArea, _x, 100); 次の例は、前の例と同じですが、ドットシンタックスを使用しています。 cartoonArea._x = 100; また、tellTarget() ステートメント内からムービークリッププロパティを取得または設定できます。次のコードは、上記の例 で示した setProperty() と等しいものです。 tellTarget("/cartoonArea") { _x = 100; } tellTarget() 関数の詳細については、68 ページの「その他のタイムラインの制御」を参照してください。 その他のタイムラインの制御 タイムラインへのパスを指定するには、ドット (..) と組み合わせたスラッシュシンタックス (/) を使用してパス参照を構築し ます。また、Flash 5 の表記である _levelN、_root、または _parent を使用し、特 定のムービーレベル、アプリケーションの ルートタイムライン、親タイムラインをそれぞれ参照する こともできます。 たとえば、SWF ファイルのメインタイムラインに box というムービークリップインスタンスがある場合を想定してみます。 この box インスタンスには cards という別のムービークリックインスタンスが含まれています。次の例は、どのメインタイ ムラインからでも、ムービークリップ cards をターゲッ トにしています。 tellTarget("/box/cards") tellTarget("_level0/box/cards") 次の例ではムービークリップ cards から、メインタイムラインをターゲットにしています。 tellTarget("../../cards") tellTarget("_root") 次の例では親ムービークリップ cards をターゲットにしています。 tellTarget("../cards") tellTarget("_parent/cards") 変数の使用 タイムラインの変数を指定するには、ドット (..) およびコロン (:) と組み合わせたスラッシュシンタッ クス (/) を使用しま す。次のドット表記を使用することもできます。 次のコードは、メインタイムラインの car 変数を参照します。 /:car _root.car FLASH LITE 1.X および 3.0 アプリケーションの開発 69 Flash Lite 1.x ActionScript の学習 次の例は、メインタイムラインにあるムービークリップインスタンスの car 変数を表しています。 /mc1/mc2/:car _root.mc1.mc2.car 次の例は、現在のタイムラインにあるムービークリップインスタンスの car 変数を表しています。 mc2/:car mc2.car 配列のエミュレート 配列は、変数や値など、情報の順序付けられたリストを作成または操作する際に便利です。ただし、Flash Lite 1.1 では、ネ イティブの配列データ構造をサポートしていません。Flash Lite ( および Flash 4) プログラミングでの一般的なテクニック は、ストリング処理で配列をエミュレートすることです。エミュレートされた配列は、疑似配列とも呼びます。疑似配列処 理の鍵は eval() ActionScript 関数であり、この関数を使用することで、変数、プロパティ、ムービークリップに名前によっ てアク セスできます。詳細については、73 ページの「eval() 関数の使用」を参照してください。 通常、疑似配列は、同一の基本名の後に数値の接尾辞が続く 2 つ以上の変数で構成されます。接尾辞 は、各配列要素のイン デックスです。 たとえば、次の ActionScript 変数を作成するとします。 color_1 color_2 color_3 color_4 = = = = "orange"; "green"; "blue"; "red"; このとき、次のコードを使用して疑似配列で要素をループさせることができます。 for (i = 1; i <=4; i++) { trace (eval ("color_" add i)); } 既存変数の参照に加え、変数代入の左側に eval() 関数を使用して、実行時に変数を作成できます。たとえば、ゲームをプレ イしたときのハイスコアのリストを保持したいとします。ユーザーが 1 回のゲームを終えたときに、毎回リストにユーザー のスコアを追加します。 eval("highScore" add scoreIndex) = currentScore; scoreIndex++; このコードは、実行するたびに、ハイスコアのリストに新しい項目を追加してから scoreIndex 変数 を加算します。この変数 はリスト内の各項目のインデックスを決定します。たとえば、次の変数で終了するとします。 highScore1 = 2000 highScore2 = 1500 highScore3 = 3000 テキストおよびストリングの操作 Flash Lite では、テキストの操作を行うためのいくつかの基本的な ActionScript コマンドとプロパティを提供しています。 テキストフィールドの値の取得と設定、ストリング、URL エンコード、または URL デコードテキストストリングの連結、 およびスクロールするテキストフィールドの作成ができます。 ストリングの連結 Flash Lite でストリングを連結するには、次の例に示されているように add 演算子を使用します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 70 Flash Lite 1.x ActionScript の学習 city = "Boston"; team = "Red Sox"; fullName = city add " " add team; // Result: // fullName = "Boston Red Sox" スクロールテキスト 動的およびテキスト入力フィールドの scroll プロパティを使用すると、フィールドの現在のスクロール位置を取得または設 定できます。また、maxscroll 位置を使用して、テキストフィー ルドの現在のスクロール位置を最大スクロール位置に対して 相対的に決定することができます。スクロールテキストフィールドの作成方法の例については、46 ページの「スクロールテ キストの作成」を参照してください。 call() 関数を使用しての関数作成 Flash Player 5 およびそれ以降で実行可能なカスタム関数の定義や呼び出しは、Flash Lite で行うことはできません。ただ し、call() ActionScript 関数を使用して、タイムラインの任意のフレームにあるコードを実行できます。この方法により、 頻繁に使用されるコードを 1 か所でカプセル化することができ、メンテナンスが簡単にできるようになります。 call() 関数では、フレーム番号またはフレームラベルをパラメータとして使用します。たとえば、次の ActionScript は、 moveUp というラベルのフレームにあるコードを呼び出します。 call("moveUp"); call() 関数は同期化して動作し、call() 関数呼び出しに続く ActionScript は、指定されたフレームの ActionScript がすべて 実行されるまで、実行されません。 別のフレームの ActionScript を呼び出すには: 1 新しい Flash ドキュメントで、フレーム 10 にキーフレームを挿入します。 2 新しいキーフレームが選択されている状態で、アクションパネルを開いて ( ウィンドウ/アクション )、次のコードを入 力します。 trace("Hello from frame 10"); 3 フレーム 1 のキーフレームを選択し、アクションパネル内で次のコードを入力します。 stop(); call(10); このコードにより、フレーム 1 で再生ヘッドが停止し、フレーム 10 のコードが呼び出されます。 4 Adobe® Device Central™ でアプリケーションをテストします。 エミュレータ上に "Hello from frame 10" と表示されます。 FLASH LITE 1.X および 3.0 アプリケーションの開発 71 Flash Lite 1.x ActionScript の学習 ムービークリップのタイムラインなど、別のタイムラインにあるコードを呼び出すこともできます。コードを実行するには、 ムービークリップインスタンス名、コロン、およびフレーム番号またはラベルの順で指定します。たとえば、次の ActionScript では、callClip という名前のムービークリップインスタンスで moveUp というラベルのフレームにあるコード を呼び出します。 call("callClip:moveUp"); この方法は、呼び出しクリップまたは関数クリップと呼ばれる、定期的に使用されるコードをカプセル化することを唯一の 目的とするムービークリップを作成するのに頻繁に使用されます。呼び出しクリップには、作成する各関数用のキーフレー ムが含まれています。通常は、キーフレームの目的に従ってそれぞれにラベルを付けていきます。また、新規のキーフレー ムそれぞれに対して新しいレイヤーを作成し、そのレイヤーに対してキーフレームに割り当てたフレームラベルと同じ名前 を割り当 てることをお勧めします。 次の図は例として取り上げた呼び出しクリップのタイムラインを表しています。呼び出しクリップの最初のキーフレームに は常に stop() アクションが含まれており、これによって再生ヘッドがそのタイムライン内でフレームをループし続けること のないようになっています。後続のキーフレームには、各 " 関数 " のコードが含まれます。各関数キーフレームには、その 機能を表すラベルが付きます。呼び出しクリップの編集と表示を容易にするために、各関数キーフレームは、通常、独立し たレイヤーに挿入されます。 A B C A. フレームラベル B. コードを含む各キーフレーム C. stop() アクションが含まれる最初のキーフレーム 次の手順では、呼び出しクリップの作成方法と使用方法について説明します。 呼び出しクリップを作成し、使用するには: 1 Adobe Flash で、新規モバイルドキュメントを作成します。 2 挿入/新規シンボルを選択します。 3 新規シンボルの作成ダイアログボックスの「名前」テキストボックスに「呼び出しクリップ」と 入力して「OK」をク リックします。 ムービークリップが編集モードで開きます。 4 タイムラインウィンドウの「レイヤーの追加」ボタンを 2 回クリックして 2 つの新しいレイヤーを挿入します。 最上位レイヤーには Actions、2 番目のレイヤーには function1、3 番目のレイヤーには function2 とそれぞれ名前を 付けます。 5 次の図のように、function1 レイヤーのフレーム 2 と function2 レイヤーのフレーム 3 にそれぞれキーフレームを挿入し ます。 6 Actions レイヤーのキーフレームを選択してからアクションパネルを開きます。 FLASH LITE 1.X および 3.0 アプリケーションの開発 72 Flash Lite 1.x ActionScript の学習 7 stop() アクションをアクションパネルに追加します。 8 function1 レイヤーのフレーム 2 にあるキーフレームを選択して、次の操作を実行します。 a プロパティインスペクタで、「フレームラベル」テキストボックスに「function1」と入力します。 b アクションパネル ( ウィンドウ/アクション ) に次のコードを入力します。 trace("function1 was called."); 9 function2 レイヤーのフレーム 3 でキーフレームを選択し、次の操作を実行します。 a プロパティインスペクタで、「フレームラベル」テキストボックスに「function2」と入力します。 b アクションパネル(ウィンドウ/アクション)に次のコードを入力します。 trace("function2 was called."); 10 Ctrl+E(Windows)または Command+E(Macintosh)を押してメインタイムラインに戻ります。 11 表示/ワークエリアを選択して、ステージの周りのワークエリアを含めるようドキュメン トの表示を設定します。 呼び出しクリップは、ユーザーに表示する必要がないため、ワークエリアに配置できます。 12 ライブラリパネルを開き(ウィンドウ/ライブラリ)、呼び出しクリップシンボルをステージ周辺のワークエリアにド ラッグします。 呼び出しクリップにはビジュアルエレメントは含まれておらず、ステージ上では、ムービークリップの基準点を表す小さ な円として表示されます。 A B A. 呼び出しクリップインスタンス B. ステージ周辺のワークエリア ステージで呼び出しクリップをより確認しやすくするには、呼び出しクリップのタイムラインで最初のキーフレームに テキストや他の表示可能な要素を追加します。 1 プロパティインスペクタで、「インスタンス名」テキストボックスに「callClip」と入力します。 2 タイムラインで、ActionScript というレイヤーのフレーム 1 を選択します。 3 アクションパネルに次のコードを入力します。 call("callClip:function1"); call("callClip:function2"); 4 エミュレータでアプリケーションをテストします ( 制御/ムービープレビュー )。 FLASH LITE 1.X および 3.0 アプリケーションの開発 73 Flash Lite 1.x ActionScript の学習 次のテキストが表示されます。 function1 was called. function2 was called. eval() 関数の使用 eval() 関数を使用すると、ランタイムに変数とムービークリップインスタンスを動的に参照できま す。eval() 関数では、スト リング式をパラメータとして扱い、式によって表される変数の値またはムービークリップの参照を返します。 たとえば、次のコードは ActionScript 変数 name の値を評価して、nameValue にその結果を割り当てます。 name = "Jack"; nameValue = eval("name"); // result: nameValue = "Jack" Flash Lite はネイティブ配列データ構造をサポートしていないので、eval() 関数は通常、ストリングベースの配列を作成する ために、for() ループおよび add ( ストリング連結 ) 演算子と一緒に使用されます。詳細については、69 ページの「配列のエ ミュレート」を参照してください。 また、eval() を使用して名前によってムービークリップインスタンスを参照することもできます。たとえば、clip1、clip2、お よび clip3 という名前の 3 つのムービークリップがあるとします。次の for() ループによって、各クリップの x 位置は 10 ピ クセルずつ加算されます。 for(index = 1; index <= 3; index++) { eval("clip" add index)._x += 10 } 一般的なスクリプティング作業 このセクションでは、ユーザーのデバイスを操作する際の一般的な Flash Lite スクリプティング作業について説明します。 これには、デバイスの機能情報の取得、通話とテキストメッセージの開始、ネットワークステータスの確認などが含まれま す。 デバイスとプラットフォームの機能の確認 アドビ システムズ社の Macromedia Flash Lite 1.1 にはいくつもの ActionScript 変数が含まれおり、特定のデバイスで実 行されている Flash Lite アプリケーションで利用可能な機能に関する情報を提供できます。たとえば、_capLoadData 変数は デバイスが外部データのロードをサポートするかどうかを示し、_capSMS 変数はデバイスが送信 SMS ( ショートメッセージ サービス ) メッセージをサポートするかどうかを示します。機能変数の一覧については、『Flash Lite 1.x ActionScript リ ファレンスガイド』の「機能」を参照してください。 通常、機能変数は、あるデバイスが特定の機能をサポートしているかどうかを、その機能を使用する前に確認するために使 用します。たとえば、loadVariables() 関数を使用して Web サーバーからデータをダウンロードするアプリケーションを開発 する予定であるとします。データをロードする前 に、次のようにまず _capLoadData 変数の値を確認すれば、そのデバイス がその機能をサポートし ているかどうかを判断できます。 if(_capLoadData == 1) { loadVariables("http://foo.com/data.txt"); } else { status_message = "Sorry, unable to load external data." } FLASH LITE 1.X および 3.0 アプリケーションの開発 74 Flash Lite 1.x ActionScript の学習 Flash Lite では、機能変数はメイン SWF ファイルのルートタイムラインで定義されます。そのため、たとえばムービーク リップのタイムラインなど、他のタイムラインからこれらの変数にアクセスする場合は、変数までのパスを修飾する必要が あります。たとえば、次の例では、スラッシュ (/) を使用して、_capSMS 変数に対して完全修飾されたパスを提供していま す。 canSendSMS = /:_capSMS Web ページを開く getURL() コマンドを使用すると、デバイスの Web ブラウザで Web ページを開くことができます。これは、デスクトップ の Flash アプリケーションから Web ページを開くのと同じ方法です。たとえば、次の手順でアドビ システムズ社の Web ページを開きます。 getURL("http:www.adobe.com"); Flash Lite は、1 つのフレームまたは 1 つのイベントハンドラで 1 つの getURL() アクションのみを処理します。一部のハン ドセットでは getURL() アクションはキー押下イベントに限定されており、キー押下イベントハンドラ内でトリガされた getURL() 呼び出しだけが処理されます。そのような場合でも、キー押下イベントハンドラごとに処理される getURL() アク ションは 1 つだけです。ステージ上のボタンインスタンスに割り当てられる次のコードにより、ユーザーがデバイスの選択 ボタンを押すと、Web ページが開きます。 on (keyPress "<Enter>"){ getURL("http://www.adobe.com"); } 通話の開始 Flash Lite アプリケーションから通話を開始するには、getURL() 関数を使用します。通常、この関数は Web ページを開く のに使用しますが、ここでは tel: を (http) の代わりにプロトコルとして指定し、次に電話をかける相手の番号を入力します。 この関数を呼び出すと確認用のダイアログボッ クスが表示され、入力された番号に電話をかけてよいか許可を求めてきま す。 たとえば、次のコードは電話番号 555-1212 への通話を開始します。 getURL("tel:555-1212"); Flash Lite は、1 つのフレームまたは 1 つのイベントハンドラで 1 つの getURL() アクションのみを処理します。一部のハン ドセットでは getURL() アクションはキー押下イベントに限定されており、キー押下イベントハンドラ内でトリガされた getURL() 呼び出しだけが処理されます。そのような場合でも、キー押下イベントハンドラごとに処理される getURL() アク ションは 1 つだけです。次の例では、ユーザーがデバイスの選択ボタンを押すと通話が開始されます。 on (keyPress "<Enter>"){ getURL("tel:555-1212"); } テキストメッセージまたはマルチメディアメッ セージの開始 Flash Lite を使用すると、ショートメッセージサービス (SMS) またはマルチメディアメッセージサービス (MMS) のメッ セージを開始することができます。Flash Lite アプリケーションで SMS または MMS メッセージを送信するには、getURL() コマンドを使用し、標準の http プロトコルではなく、sms: または mms: プロトコルに続いて、メッセージ送信先の電話番号 を指定します。 getURL("sms:555-1212"); 次の例のように、URL クエリーストリング内にメッセージ本文を指定することもできます。 getURL("sms:555-1212?body=More info please"); MMS メッセージを送信するには、次のように sms: プロトコルではなく、mms: プロトコルを使用します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 75 Flash Lite 1.x ActionScript の学習 getURL("mms:555-1212"); 注意:Flash Lite で MMS メッセージの添付ファイルを指定することはできません。 Flash Lite は、1 つのフレームまたは 1 つのイベントハンドラで 1 つの getURL() アクションのみを処理します。一部のハン ドセットでは getURL() アクションはキー押下イベントに限定されており、キー押下イベントハンドラ内でトリガされた getURL() 呼び出しだけが処理されます。そのような場合でも、キー押下イベントハンドラごとに処理される getURL() アク ションは 1 つだけです。次の例 では、ユーザーがデバイスの選択ボタンを押すと SMS メッセージが送信されます。 on (keyPress "<Enter>"){ getURL("sms:555-1212"); } 電子メールメッセージの開始 Flash Lite を使用して、電子メールメッセージを開始することができます。電子メールメッセージを開始するには、 getURL() コマンドを使用し、mailto: プロトコルの後に受信側の電子メールアドレ スを指定します。次の例のように、URL クエリーストリング内にメッセージの題名と本文を指定することもできます。 getURL("mailto:[email protected]?subject=Flash Lite"); クエリーストリングでメッセージ本文だけを指定するには、以下のコードを使用します。 getURL("mailto:[email protected]?body=More+info+please"); 外部 SWF ファイルのロード loadMovie() 関数を使用することで、ネットワークやローカルファイルから SWF ファイルをロー ドできます。この機能は Flash Lite 1.1 以降から使用できます。次の補足説明は、外部 SWF ファイル をロードする場合に適用されます。 • Flash Lite では、Flash Lite 1.0 または Flash Lite 1.1 SWF ファイル、あるいは Flash 4 以前の形式の SWF ファイルを ロードできます。その他の形式 ( たとえば、Flash Player 6) の SWF ファイルをロードしようとすると、ランタイムエ ラーが発生します。 • Flash Lite では、JPEG や GIF などの外部イメージファイルを直接ロードすることはできません。これらのタイプのメ ディアをロードする場合は、イメージデータを SWF ファイル形式に変換する必要があります。この変換は、Flash オー サリングツールを使用してイメージファイルを新しいドキュメントに読み込み、次に Flash Lite または Flash 4 SWF ファイルに書き出すことで、“ 手動 ” で実行することが可能です。また、自動変換用のサードパーティユーティリティも あります。 SWF ファイルのロードの詳細については、 『Flash Lite 1.x ActionScript リファレンスガイド』の loadMovie() を参照して ください。 外部データのロード 外部データを Flash Lite アプリケーションにロードするには、loadVariables() 関数を使用します。データは、ネットワーク (HTTP アドレス ) からでも、ローカルファイルシステムからでもロードできます。この機能は Flash Lite 1.1 以降から使用 できます。 この節では、loadVariables() 関数を使用して外部ファイルからデータをロードし、動的テキストフィールドに表示する方法 について説明します。最初に、アンパサンド (&) で区切った名前と値のペアを 5 組含んだテキストファイルをデータファイ ルとして作成します。次に、テキストファイルに含まれているデータをロードし、表示する Flash Lite アプリケーションを 作成します。 FLASH LITE 1.X および 3.0 アプリケーションの開発 76 Flash Lite 1.x ActionScript の学習 この例では、データファイルと SWF が、ユーザーのコンピュータ ( エミュレータによるテストの場合 ) かデバイスのメモ リカード ( 実際のデバイスによるテストの場合 ) の同じフォルダに保存されていることを前提としています。デバイスでこ のアプリケーションをテストするには、次のいずれかの操作を実行する必要があります。 • • テキストファイルをデバイスに転送し、SWF ファイルを同じフォルダに保存します。 テキストファイルを Web サーバーの URL ( 例:www.your-server.com/data.txt) に送信します。次に、サンプルアプ リケーションの loadVariables() 呼び出しを変更して、以下のように URL を指定します。 loadVariables("http://www.your-server.com/data.txt", "data_clip"); ネットワークを経由してデータをロードするアプリケーションの例については、『Flash サンプル』の「Flash Lite ニュースリーダー」を参照してください。 データファイルを作成するには: 1 テキストエディタ ( 例:Notepad または SimpleText) を使用して、次のテキストを含むファイル を作成します。 item_1=Hello&item_2=Bonjour&item_3=Hola&item_4=Buon+giorno&item_5=G'day 2 ファイルを data.txt として保存します。 データロード用の Flash Lite アプリケーションを作成するには: 1 Flash で、新規モバイルドキュメントを作成します。 2 ファイルを、既に作成してあるテキストファイル (data.txt) と同じフォルダに "dataloading.fla" として保存します。 3 タイムラインで、Content レイヤーのフレーム 1 を選択します。 4 テキストツールを使用して、次の図に示されているように、動的テキストフィールドを 5 つ、ステージ上に作成します。 5 最初の ( 一番上の ) テキストフィールドを選択し、プロパティインスペクタの「変数」テキストボックスに item_1 と入力 します。 この変数名は、前に作成した "data.txt" ファイルで定義した最初の変数の名前 (item_1=Hello) に対応しています。 6 前の 2 つの手順で説明したのと同じ方法で、残る 4 つのテキストフィールドに、item_2、item_3、item_4、item_5 という 変数名を割り当てます。 7 Shift キーを押しながら各テキストフィールドがすべて選択されるように選択し、修正/シンボルに変換を選択します。 8 シンボルに変換ダイアログボックスで、シンボルタイプとして「ムービークリップ」を選択し、「OK」をクリックしま す。 9 プロパティインスペクタで作成したムービークリップを選択し、「インスタンス名」テキストボックスに data_clip と入 力します。 10 タイムラインで Actions レイヤーのフレーム 1 を選択し、アクションパネルを開きます ( ウィ ンドウ/アクション )。 11 アクションパネルで、次のコードを入力します。 loadVariables("data.txt", "data_clip"); FLASH LITE 1.X および 3.0 アプリケーションの開発 77 Flash Lite 1.x ActionScript の学習 12 変更を保存し(ファイル/保存)、エミュレータでアプリケーションをテストします(制御/ムービープレビュー)。 次の図のように、各テキストフィールドにはテキストファイルのデータが入力されます。 78 索引 A G Adobe Device Central エミュレータ 5 デバッグオプション 59 getURL() 関数 Web ページを開く 74 通話の開始 74 電子メールメッセージの開始 75 C テキストメッセージの開始 74 Cafe Townsend アプリケーション おすすめ料理画面の作成 11 マルチメディアメッセージの開始 74 おすすめ料理のアニメーション作成 11 説明 8 H ナビゲーションの作成 14 Hello World アプリケーション 6 メインメニューの作成 9 call() 関数、使用 70 L loadMovie() 関数、使用 75 loadVariables() 関数、使用 75 E eval() 関数、使用 73 S F Sound Bundler ユーティリティ、コンパウンドサウンドの使用 54 Flash Lite Flash のオーサリング機能 5 technology overview 3 オーサリングの概要 4 コンテンツタイプ 4 W Web ページ、開く 74 Web ページを開く 74 スタンドアローンプレーヤー 3 対応状況 3 Flash Lite 1.x ActionScript 1.0 と 1.1 の違い 66 概要 66 使用できない機能 67 サポートされていない Flash 4 ActionScript 67 Flash Lite エミュレータ 警告とエラーメッセージ 62 サポートされていない機能 58 操作方法 59 Flash Lite コンテンツタイプ 4 Flash Lite のアプリケーションモード 60 Flash Lite のオーサリング機能 エミュレータ 5 デバイス設定 5 Flash Lite のコンテンツタイプ、説明 60 Flash Lite の対応状況 3 Flash Lite のレンダリング品質 およびテキストフィールド 42 デフォルトのレンダリング品質 42 Z 外部 SWF ファイルのロード 75 外部データのロード 75 関数、call() を使用してのエミュレート 70 関数クリップ、作成 70 使用可能なステージサイズ 6 通話、開始 74 通話の開始 74 電子メールメッセージ、開始 75 動的テキストフィールド 14 配列、ストリングを使用したエミュレート 69 変数 参照 68 動的に参照 73 ドットシンタックスとスラッシュシンタックス 68 い インタラクティブ機能 作成、ボタン 27 キー押下動作の検出 23 FLASH LITE 1.X および 3.0 アプリケーションの開発 79 索引 キー押下イベントの処理 22 サンプルアプリケーション 29 ソフトキーの使用 32 フォーカス矩形 20 タブナビゲーション 19 モード 19 ボタンを使用したメニューの作成 29 ムービークリップを使用したメニューの作成 24 て テキスト入力フィールド き およびフォーカス矩形 41 キー押下イベント サンプルアプリケーション 44 ActionScript キーコード 23 ActionScript による処理 22 Key Catcher ボタンの作成 23 文字の制限 40 テキストフィールド スクロールテキストフィールドの作成 46 キーハンドラスクリプトの作成 23 テキスト入力フィールド、使用 38 サポートされるキー 18 テキスト入力フィールドの文字の制限 40 動的 14 こ コンテンツタイプ 4 フォントのレンダリング方法、説明 37 プロパティの設定 14 テキストメッセージ、開始 74 テストデバイス 4 さ サウンド Sound Bundler ユーティリティ 54 イベントとストリーミング 49 コンパウンド 54 説明 49 デバイス 49 デバイスとネイティブ 49 デバイスサウンド Flash Lite 1.0 でのトリガ 53 説明 49 追加 50 と トゥイーンアニメーション 11 な す ナビゲーション。「タブナビゲーション」を参照 スクロールテキスト、作成 70 ナビゲーションの作成 ステージ、スクリーンのサイズと使用可能なステージ領域 62 ストリング、連結 69 ストリングの連結 69 Key Catcher ボタンの作成 14 ソフトキーの使用 14 ボタンの使用 9 そ ね ソフトキー ネイティブサウンド、説明 56 SetSoftKeys コマンド 32 使用 32 ソフトキーの使用 14 ふ フォントアウトラインの埋め込み 説明 43 た ターゲットデバイス 4 方法 43 フォントのレンダリング方法 タイムライン、ActionScript による制御 68 説明 41 タブナビゲーション テキストフィールドへの適用 41 2 方向 20 4 方向 20 プラットフォーム機能、決定 63 折り返し付きの 4 方向 20 プロパティインスペクタ、デバイス設定ボタン 6 説明 19 ガイドライン 22 プラットフォームの機能変数、について 73 FLASH LITE 1.X および 3.0 アプリケーションの開発 80 索引 ほ ボタンイベント 処理 27 説明 27 ま マスクレイヤーの使用 11 マルチメディアメッセージ、開始 74 む ムービークリップ 動的に参照 73 プロパティの取得と設定 68 め メッセージの開始 74 メニュー ボタンを使用して作成 29 ムービークリップを使用して作成 24 わ ワークフロー、コンテンツオーサリング 4