タッチ入力の基礎Flash Player 10.1 以降、Adobe AIR 2 以降 タッチ入力をサポートしている環境で Flash Platform が実行されている場合、InteractiveObject のインスタンスは、タッチイベントを監視してハンドラーを呼び出すことができます。一般に、ActionScript では、他のイベントと同じ方法でタッチ、マルチタッチおよびジェスチャの各イベントを処理します(ActionScript によるイベント処理の基本情報については、イベント処理を参照してください)。 ただし、Flash ランタイムでタッチまたはジェスチャを解釈するには、タッチ入力またはマルチタッチ入力をサポートしているハードウェアとソフトウェア環境でランタイムが実行されている必要があります。様々なタッチスクリーンの種類については、入力タイプの検出の比較表を参照してください。また、ランタイムがブラウザーなどのコンテナアプリケーション内で実行されている場合は、そのコンテナからランタイムに入力が渡されます。現在のハードウェアとオペレーティングシステム環境でマルチタッチがサポートされていても、Flash ランタイムが組み込まれているブラウザーが入力を解釈し、ランタイムに入力を渡さない場合があります。または、単に入力を完全に無視する場合があります。 次の図は、ユーザーからランタイムへの入力のフローを示しています。 タッチアプリケーション開発用 ActionScript API には、ランタイム環境でタッチ入力またはマルチタッチ入力がサポートされているかどうかを判断するためのクラス、メソッドおよびプロパティが用意されています。タッチ入力のサポートを判断する際に使用する API は、タッチイベント処理の「検出 API」です。 重要な概念と用語次の参照リストに、タッチイベント処理のアプリケーションを記述する上で重要な用語を示します。
タッチ入力の API 構造ActionScript のタッチ入力 API は、タッチ入力処理が Flash ランタイムのハードウェアとソフトウェア環境に依存するという事実に対応した設計になっています。タッチ入力 API では、主に、タッチアプリケーション開発の 3 つのニーズ(検出、イベントおよびフェーズ)に対応しています。これらの API を組み合わせて使用すれば、アプリケーションの開発時にターゲットデバイスが不明でも、予測可能で快適な操作性をユーザーに提供できます。 検出検出 API は、実行時にハードウェアとソフトウェア環境をテストする機能を提供します。ランタイムで設定した値に基づき、Flash ランタイムが現在のコンテキストでタッチ入力を使用できるかどうかを判断します。また、検出のプロパティおよびメソッドのコレクションを使用して、アプリケーションがマウスイベントに反応するように設定します(環境によってサポートされていないタッチ入力がある場合に備えて、タッチイベントには設定しません)。詳しくは、タッチのサポートの検出を参照してください。 イベントActionScript では、他のイベント処理と同様に、イベントリスナーとイベントハンドラーを使用してタッチ入力イベントを管理します。ただし、タッチ入力イベント処理では、次の点も考慮する必要があります。
通常は、検出 API を使用して、アプリケーションで処理するイベントを条件に基づいて仕分けしたり、処理方法を指定したりします。アプリケーションでランタイム環境を把握していれば、ユーザーがアプリケーションを操作したときに、適切なハンドラーを呼び出したり、正しいイベントオブジェクトを確立したりできます。または、現在の環境では特定の入力を処理できないことを通知して、ユーザーに代替機能や情報を提供することができます。詳しくは、タッチイベント処理およびジェスチャイベント処理を参照してください。 フェーズタッチアプリケーションとマルチタッチアプリケーションでは、ユーザー操作のフェーズを追跡するプロパティがタッチイベントオブジェクトに用意されています。ユーザー入力の開始、更新または終了などの各フェーズを処理して、ユーザーにフィードバックを提供する ActionScript を記述してみましょう。ユーザーが画面をタッチしたり、画面上でタッチポイントを移動したりしたときに、イベントのフェーズに応じて、ビジュアルオブジェクトを変化させてみます。または、フェーズを使用して、ジェスチャの展開に合わせてジェスチャの特定のプロパティを追跡します。 タッチポイントイベントでは、ユーザーが特定の操作オブジェクトを操作している時間を追跡します。アプリケーションは、複数の同時タッチポイントのフェーズを個別に追跡して、それぞれを処理することができます。 ジェスチャでは、ジェスチャの遷移に従って、その遷移に関する固有の情報を解釈します。(単一または複数の)接触点の座標が、画面上で移動するのを追跡します。 |
![]() |