このメソッドは、指定されたストリームの発行者だけが使用できます。詳細については、クラスの説明を参照してください。また、正の数を指定して、ビデオフィードに指定のミリ秒数のトレーラを追加すると、一連のスナップショット、つまり事実上のコマ落としビデオを送信することができます。トレーラは、ビデオメッセージの表示時間を拡張します。例えば、毎日 1 フレームずつキャプチャして、ビデオファイルに追加することができます。サブスクライバがファイルを再生すると、各フレームが指定のミリ秒間画面上に表示され、その後、次のフレームが表示されます。たとえば、5 分ごとにスナップショットを 1 枚撮り、合計で 100 枚のスナップショットを撮るとします。この操作を行うには、次の 2 つの方法があります。生成されるファイルは、500 分、つまり記録に要した時間と同じ長さで再生され、各フレームは 5 分間表示されます。どちらの手法でも、同じ 500 個のフレームがキャプチャされます。どちらのアプローチも有用ですが、使用するアプローチは、主に再生要件によって異なります。例えば、後者の場合、始めから最後までオーディオを録音し続けることができます。また、どちらの場合もファイルサイズはほとんど同じです。null を渡すと、ビデオのキャプチャが停止され、ユーザーが送信した追加パラメータはどれも無視されます。0 を渡すと、単一のビデオフレームのみがキャプチャされます。既存のストリーム内に "スナップショット" を転送するには、この値を使用します。正の値を渡すと、単一のビデオフレームがキャプチャされた後、スナップショットのトレーラとして、指定の長さの一時停止が追加されます。コマ撮り写真の効果を作成するには、この値を使用します。ストリーム上のすべてのデータの再生を停止し、time プロパティを 0 に設定して、他のユーザーがストリームにアクセスできるようにします。また、このメソッドは、HTTP を使用してダウンロードされたビデオファイルのローカルコピーを削除します。アプリケーションでは、アプリケーションで作成したファイルのローカルコピーは削除されますが、コピーがキャッシュディレクトリに残る場合があります。ビデオファイルをキャッシュやローカル記憶域に一切残さないようにする必要がある場合には、Flash Media Server を使用してください。publish() を呼び出すときに、このメソッドが暗黙的に呼び出されます。次の点に注意してください。パブリッシュしているストリームから close() を呼び出すと、ストリームのパブリッシュが停止し、発行者は別の目的でストリームを使用できるようになります。ストリームのパブリッシュが停止するため、サブスクライバはストリームでパブリッシュされた内容を受信できなくなります。サブスクライブしているストリームから close() を呼び出すと、サブスクライバに対するストリームの再生が停止し、サブスクライバは別の目的でストリームを使用できるようになります。他のサブスクライバの再生は停止しません。
サブスクライブしているストリームは、そのストリームを閉じたり、flash
ピアーがパブリッシュするストリームが、ピアーがサブスクライブするストリームに一致する場合に呼び出されます。サブスクライバが発行者に接続する前にこのメソッドを呼び出すと、ActionScript コードはピアーツーピアーパブリッシュに対するアクセスを細かく制御できます。次のコードは、このメソッドのコールバック関数の作成方法の例です。ピアーの発行者がこのメソッドを実装していない場合、すべてのピアーはパブリッシュされたすべてのコンテンツを再生できます。ビデオストリームの再生を一時停止します。ビデオが既に一時停止している場合は、このメソッドを呼び出しても何も実行されません。pause() が呼び出されたときにバッファをクリアしなくなりました。0 以前は、Flash Player はバッファが満杯になるまで待機してから再生を開始していましたが、このため遅延がよく発生していました。pause() を使用し、閲覧者がコマーシャルを見ている間、データをバッファし、メインのビデオが開始されたときに一時停止を解除することができます。メディアファイルを再生します。
サポートされているコーデックおよびファイル形式については、、http://www
Microphone オブジェクトを使用すると、オーディオの一部の属性を制御できます。addChild() メソッドを呼び出して、表示リスト上のオブジェクトにオーディオをルーティングします。その後、Sound オブジェクトを作成して、オーディオの一部の属性を制御できます。信頼できるローカルのサンドボックスまたはネットワークアクセスを許可されたローカルのサンドボックスのファイルは、リモートサンドボックスからビデオファイルをロードおよび再生することができますが、URL ポリシーファイルで明示的な許可が与えられていない限り、リモートファイルのデータにアクセスできません。一般的な予約ポートには接続できません。0 のプログラミング』)の「ネットワーク API の制限」を参照してください。一般的な予約ポートには接続できません。0 のプログラミング』)の「ネットワーク API の制限」を参照してください。セキュリティ情報について詳しくは、以下を参照してください。url プロパティまたは変数参照のいずれかのストリングとして再生するメディアファイルの位置です。アプリケーションセキュリティサンドボックス外にある Flash Player および AIR コンテンツの場合、SWF ファイルまたはサブディレクトリと同じディレクトリに保存されているローカルビデオファイルを再生できます。ただし、上位レベルのディレクトリに移動することはできません。false の場合は、ストリームの再生が停止し、他のパラメータは無視されます。ファイル名の構文の詳細については、この表の次にあるファイル形式一覧を参照してください。この値のときは、ライブストリームを検索し、次に、記録されたストリームを検索します。いずれのストリームも検出されない場合は、ライブストリームが開きます。-1 の場合は、ライブストリームだけが再生されます。0 または正の数値の場合は、記録されたストリームの再生が、start に指定された秒数から開始されます。
再生の継続時間 (秒単位)
指定可能な値は、-1、0、または正の数値です。この値のときは、ライブストリームまたは記録されたストリームが最後まで再生されます。0 の場合、記録されたストリームの先頭を基準として、start で指定された秒数の位置にある単一のフレームが再生されます。正の数値の場合、ライブストリームまたは記録されたストリームが、len で指定された秒数だけ再生されます。
オプション(len が指定されている場合)
再生リストを消去するかどうか
この値の場合、以前に play で呼び出したファイルが消去され、name で指定したファイルが即座に再生されます。0 または false の場合、再生リストにストリームが追加されます。2 の場合、再生リストが維持され、間隔をおいて順次返されるのではなく、すべてのストリームメッセージが一度に返されます。3 の場合、再生リストが消去され、すべてのストリームメッセージが一度に返されます。次の表に記載されているファイル形式を再生できます。構文は、ファイル形式によって異なります。ストリーム名をストリングとして指定します。ファイル名の拡張子は含みません。ストリーム名をストリングとして指定します。ファイル名の拡張子は含みません。ストリーム名をストリングとして指定します。それぞれ接頭辞として mp4: を使用します。ファイル名の拡張子は含む場合と含まない場合があります。
この接頭辞は、H
サーバー上のファイルにファイル名の拡張子が付いている場合、ファイル名の拡張子を指定します。publish() メソッドでファイル名の拡張子を指定した場合、ファイル名の拡張子を指定します。MPEG-4 ファイルの場合、サーバー上のファイルにファイル名の拡張子が付いている場合、play() メソッドでいずれかの拡張子を指定します。再生はすぐに開始され、以前のストリームはすべて消去されます。再生用の各オプションを設定のうえ、メディアファイルの再生を開始します。play() メソッドと同様に、play2() メソッドは、メディアファイルの再生を開始したり、メディアファイルをキューに追加して再生リストを作成したりします。切り替えはクライアントアプリケーションでシームレスに実行されます。play2() メソッドを使用して、異なるビットレートでエンコードされたコンテンツが同じストリームに切り替えたり、再生リストのストリームを入れ替えたりします。ネットワークの状態を監視し、そのデータに基づいてストリームを切り替えるには、NetStreamInfo クラスを使用します。異なる機能のクライアント用のストリームを切り替えることもできます。ActionScript を使用してストリームを切り替えることは、ダイナミックストリーミングと呼ばれます。DynamicStream クラスを使用すると、独自のコードを作成してネットワークの状態を検出しなくても、ダイナミックストリーミングを実装できます。ダイナミックストリーミングのコードを独自に作成する場合でも、動作する実装の例として DynamicStream クラスを参照してください。ローカルに保存されたメディアファイルから任意の DRM メタデータを抽出します。この DRMContentData オブジェクトには、コンテンツの再生に必要なバウチャーを取得するために必要な情報が含まれます。DRM バウチャーをプリロードする手順は次のとおりです。メタデータをプリロードするための新しい NetStream オブジェクトを作成します。注意:同じ NetStream オブジェクトを使用して、メタデータのプリロードとコンテンツの再生を両方行う場合、再生開始前にプリロード処理によって生成された onPlayStatus 呼び出しを待機する必要があります。ダウンロードされたバウチャーは、ローカルキャッシュに保存されます。コンテンツをオンラインで再生しても、バウチャーがダウンロードされてキャッシュされます。DRM で保護されたコンテンツファイルを表示するときは、キャッシュされたバウチャーがローカルストアから自動的に取得されます。メタデータは、ファイルシステムに格納されているファイルからのみプリロードできます。送信中にストリームを記録することもできます。このメソッドは、指定されたストリームの発行者だけが使用できます。MPEG-4 形式でファイルを記録した場合、別のアプリケーションでファイルを編集または再生するには、flattener ツールを使用する必要があります。
ツールをダウンロードするには、www
すでにパブリッシュおよび記録されているストリームを再生するには、このメソッドを使用しないでください。Flash Media Server は、ストリームを記録するとき、ファイルを作成して、サーバー上のアプリケーションのディレクトリのサブディレクトリに格納します。connect() () に渡されたアプリケーションインスタンス名に一致する名前のディレクトリに格納されます。サーバーでは、これらのディレクトリが自動的に作成されます。次の例では、同じアプリケーションの別のインスタンスに接続する方法を示しています。
このストリームにサブスクライブしているクライアントは、NetStream
ストリーム名の後にスラッシュ (/) を指定しないでください。次の表に記載されている形式のファイルをパブリッシュできます。構文は、ファイル形式によって異なります。ストリーム名を、ファイル名拡張子なしのストリングとして指定します。ストリーム名をストリングとして指定します。ファイル名の拡張子は含みません。ストリーム名をストリングとして指定します。それぞれ接頭辞として mp4: を使用します。ファイル名の拡張子は含む場合と含まない場合があります。
この接頭辞は、H
このファイルが存在する場合は、上書きされます。name パラメータと一致するファイルが見つからない場合は、ファイルが作成されます。name パラメータに渡された値と名前が一致するファイルが存在する場合は、そのファイルが削除されます。ストリーム上で着信オーディオが再生されるかどうかを示します。このメソッドは、指定されたストリームにサブスクライブされたクライアントでのみ使用できます。ストリームの発行者は使用できません。詳細については、クラスの説明を参照してください。play() メソッドを呼び出す前または呼び出した後に呼び出すことができ、実際にストリームの受信を開始します。例えば、着信オーディオストリームをミュートまたはミュート解除する場合、ユーザーがクリックするボタンにこれらのメソッドをアタッチできます。ストリーム上で着信ビデオが再生されるかどうかを指定します。このメソッドは、指定されたストリームにサブスクライブされたクライアントでのみ使用できます。ストリームの発行者は使用できません。詳細については、クラスの説明を参照してください。play() メソッドを呼び出す前または呼び出した後に呼び出すことができ、実際にストリームの受信を開始します。例えば、着信ビデオストリームを表示または非表示にする場合、ユーザーが押すボタンにこれらのメソッドをアタッチできます。着信ビデオのフレームレートを指定します。このメソッドは、指定されたストリームにサブスクライブされたクライアントでのみ使用できます。ストリームの発行者は使用できません。詳細については、クラスの説明を参照してください。play() メソッドを呼び出す前または呼び出した後に呼び出すことができ、実際にストリームの受信を開始します。例えば、着信ビデオのフレームレートをユーザーが設定できるテキストフィールドにこれらのメソッドをアタッチできます。ビデオの受信を停止するには、FPS に 0 を渡します。サーバーは、どの 2 つのキーフレーム間でも必要なレートを満たすことができる最小数のフレームを送信します。ただし、I フレーム(中間フレーム)は連続的に送信される必要があるので注意してください。そのようにしないと、ビデオは破損してしまいます。したがって、キーフレームに続いて、必要な数のフレームが直ちに連続的に送信されます。フレームは均等には配信されないので、待機により中断されたセグメントにおいてもモーションはスムーズに表示されます。ローカルにキャッシュされたすべてのDRM(デジタル著作権管理)バウチャーデータを削除します。ユーザーが暗号化されたコンテンツにアクセスできるようにするには、アプリケーションでメディア著作権サーバーから必要なすべてのバウチャーを再ダウンロードする必要があります。次の例では、すべての DRM バウチャーをリセットします。再生を一時停止していたビデオストリームを再開します。ビデオが既に再生中である場合は、このメソッドを呼び出しても何も実行されません。指定された位置に最も近いキーフレーム (ビデオ業界では I フレームとも呼ばれます) をシークします。キーフレームは、ストリームの先頭から秒単位のオフセット位置に配置されます。通常、ビデオストリームは、キーフレーム (または I フレーム) と P フレームの 2 種類のフレームでエンコードされます。キーフレームにはイメージ全体が格納されています。一方、P フレームは、キーフレーム間の追加のビデオ情報を提供する中間フレームです。通常、ビデオストリームには 10 ~ 50 フレームごとにキーフレームがあります。xml 設定ファイルに定義されています。通常のシークモードでは、サーバーは最も近いキーフレームからストリーミングを開始します。例えば、ビデオの 0 秒と 10 秒の位置にキーフレームがある場合、4 秒の位置にシークすると、0 秒の位置のキーフレームを使用して 4 秒の位置から再生が開始されます。10 秒の位置にある次のキーフレームに到達するまで、ビデオはフリーズされたままになります。シークの操作性を向上するには、キーフレームの間隔を短くする必要があります。通常のシークモードでは、キーフレーム間の位置からビデオを開始することはできません。ただし、これによりサーバーの処理の負荷が高くなり、生成されるキーフレームに歪みが発生することがあります。ビデオコーデックが On2 の場合、シーク位置の前のキーフレームと、そのキーフレームとシーク位置の間にあるすべての P フレームがクライアントに送信されます。ストリームの先頭から前方にシークするには、進めたい秒数をパラメータに指定します。time - n と指定すると、それぞれ現在位置から n 秒分だけ前方または後方へシークが行われます。パブリッシュされたストリーム上で、サブスクライブしているすべてのクライアントにメッセージを送信します。このメッセージを処理して応答するには、NetStream オブジェクトにハンドラを作成します。
このオブジェクトの例には、ns
Flash Player または AIR は、メソッドやそれらのデータ、オブジェクトプロトタイプ変数、または列挙不可能な変数を直列化しません。データキーフレームは、発行者がライブストリームに追加するメッセージです。通常、データキーフレームは、カメラやマイクロホンからストリーム用のデータをキャプチャする前に、ライブストリームにメタデータを追加するために使用されます。発行者は、ライブストリームのパブリッシュ中にいつでもデータキーフレームを追加できます。発行者がサーバーに接続している限り、データキーフレームはサーバーのメモリに保存されます。データキーフレームが追加される前のライブストリームにサブスクライブしているクライアントは、データキーフレームが追加されるとすぐにそのキーフレームを受信します。データキーフレームが追加された後のライブストリームにサブスクライブしているクライアントは、サブスクライブするときにキーフレームを受信します。発行者は、サブスクライバが簡単に理解できるプロパティ名を設定する必要があります。ハンドラ名の深さは 1 レベルのみで (つまり、親子形式を取ることができません)、ストリームオブジェクトに相対します。ハンドラ名には予約語を使用しないでください。たとえば、ハンドラ名として "close" を使用すると、このメソッドは失敗します。それらは直列化され、接続を介して送信されます。受信側のハンドラは同じ順番でそれらを受け取ります。パラメータが循環オブジェクト (循環するリンクされたリストなど) である場合、シリアライザは参照を正しく処理します。1 つのオブジェクトはサーバーへのライブストリームのパブリッシュに使用し、もう 1 つはストリームへのサブスクライブに使用します。次の例は、メタデータを作成してライブストリームに追加します。ビデオに追加されているデータキーフレームに応答するには、クライアントが onMetaData イベントハンドラを定義する必要があります。次の例は、サーバーに再生リストを作成する方法を示しています。録画済みのビデオファイルにデータメッセージだけが含まれている場合、録画したときの速度でビデオファイルを再生するか、すべてのデータメッセージを一度に取得することができます。基になる暗号化コンテンツを表示するために必要な DRM 認証資格情報を設定します。これらは、ユーザーがコンテンツの表示許可を取得するときに使用する資格情報と同じものです。"proxy" 認証タイプの場合、資格情報はプロキシサーバーで認証され、プロキシサーバーが要求する資格情報と一致する必要があります。例えば、"proxy" オプションを使用すると、ユーザーがインターネットにアクセスする前にプロキシサーバーで認証を受けるように企業が要求する場合、アプリケーションにそのような手順を設定できます。匿名認証を使用する場合を除き、プロキシ認証の後、ユーザーは証明書を取得してコンテンツを再生するために、FMRMS での認証も必要です。ストリームの再生を一時停止または再開します。このメソッドを呼び出すと最初は再生を一時停止し、次に呼び出したときには再生を再開します。このメソッドを使用して、ユーザーが 1 つのボタンを押すだけで再生を一時停止または再生できるようにすることができます。
イベントの詳細
非同期形式で、つまりネイティブ非同期コードから例外がスローされると送出されます。このイベントは、サーバーが定義されていないメソッドをクライアント上で呼び出したときに送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。イベントを送出するオブジェクトです。イベントをトリガしたエラーです。NetStream オブジェクトが、再生の前にユーザーの認証資格情報を要求する、DRM (デジタル著作権管理) で暗号化されたコンテンツを再生しようとしたときに送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。サーバーによって提供される暗号化コンテンツファイルのヘッダです。サーバーによって提供されるパスワード資格情報のプロンプトです。サーバーによって提供される、表示する URL のプロンプトです。サーバーによって提供されるユーザー名資格情報のプロンプトです。NetStream オブジェクトが DRM (デジタル著作権管理) で暗号化されたファイルを再生しようとして、DRM に関連したエラーを検出したときに送出されます。これは、ユーザーがコンテンツを表示する権利を購入していないためや、コンテンツプロバイダが表示アプリケーションをサポートしていないためなどで発生します。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。問題に割り当てられている数値エラーコードです。基になるプログラムに関する詳細な情報を示すエラーコードです。
DRM (デジタル著作権管理) で暗号化されたコンテンツの再生が開始されるときに送出されます (ユーザーが認証されてコンテンツの再生が許可された場合)
DRMStatusEvent オブジェクトには、コンテンツをオフラインで使用可能にできるかどうか、またはいつ証明書が期限切れとなり、コンテンツを表示できなくなるかなど、証明書に関連する情報が含まれます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。ステータスイベントのコンテキストを説明するストリングです。DRM 暗号化で保護されたコンテンツが認証資格情報をユーザーに要求することなく使用可能であるかどうかを示します。DRM 暗号化で保護されたコンテンツがオフラインで使用可能かどうかを示します。コンテンツをオフラインで表示できる残りの日数です。DRM ステータスイベントのカスタムオブジェクトです。バウチャーが期限切れとなり、ユーザーがコンテンツを表示できなくなる日の絶対日付です。コンテンツがローカルファイルシステムに格納されるかどうかを示します。入出力エラーが発生してネットワーク処理が失敗したときに送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
特定のエラーに関連付けられた参照番号です(AIR のみ)
入出力エラーが発生したネットワークオブジェクトです。エラーメッセージとして表示されるテキストです。NetStream オブジェクトが、そのステータスまたはエラーの状態をレポートすると送出されます。このプロパティは、接続試行が成功したかどうかなど、イベントに関する特定の情報を含む情報オブジェクトです。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。オブジェクトのステータスまたはエラー状態を記述するプロパティを持つオブジェクトです。ビデオファイルの再生中に埋め込まれたキューポイントに達した場合に応答するリスナーを定義します。このリスナーを使用して、ビデオが特定のキューポイントに達したときにコード内のアクションをトリガすることができます。これにより、アプリケーションの他のアクションとビデオ再生イベントと同期させることができます。代わりに、1 つのコールバック関数を定義して、以下のオブジェクトのいずれかを直接アタッチする必要があります。ただし、NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラを定義することや、サブクラスをダイナミックにしてイベントハンドラ関数をサブクラスのインスタンスに追加することは可能です。play() メソッドの呼び出し後、ただしビデオ再生ヘッドが進むよりは前にトリガされます。ビデオファイルに埋め込み可能なキューポイントには、次のタイプがあります。ナビゲーションキューポイントは、ビデオファイル内のキーフレームと、その厳密に一致するキーフレームに対応するキューポイントの time プロパティを指定します。ナビゲーションキューポイントは、ビデオファイル内の移動に使用できるブックマークやエントリポイントとしてよく使われます。イベントキューポイントは、時間で指定します。その時間が特定のキーフレームに対応しているかどうかは関係ありません。イベントキューポイントは、通常ビデオ内で何か処理が行われるときの時間を表し、他のアプリケーションイベントのトリガに使用できます。キューポイントがビデオファイル内に埋め込まれたときに、キューポイントに指定された名前です。このキューポイントに指定された名前と値のペアのストリングの結合配列です。パラメータ名または値には、任意の有効なストリングを使用できます。ビデオファイルの再生時にキューポイントが発生した時間 (秒数) です。到達したキューポイントの種類です。ナビゲーションまたはイベントのいずれかです。最初にビデオファイルをエンコードするとき、または Flash オーサリングツールでビデオの読み込みウィザードを使用してビデオクリップを読み込むときに、ビデオファイルにキューポイントを定義できます。onMetaData イベントも、ビデオファイル内のキューポイントに関する情報を取得します。ただし、onMetaData イベントは、ビデオの再生が開始される前に、すべてのキューポイントに関する情報を取得します。onCuePoint イベントは、1 つのキューポイントについて、再生時のそのキューポイントに指定された時間での情報を取得します。一般に、コードで特定のキューポイントの発生時に応答するには、onCuePoint イベントを使用して、コード内の特定のアクションをトリガします。onMetaData イベントに指定されたキューポイントのリストを使用すると、ビデオストリームの事前に定義されたポイントでユーザーにビデオの再生を開始させることができます。seek() メソッドに渡して、そのキューポイントからビデオを再生します。AIR がメディアファイルに埋め込まれた DRM コンテンツメタデータを抽出する場合に、応答するリスナーを確立します。DRMContentData オブジェクトには、DRM で保護されたメディアファイルの再生に必要なバウチャーを取得するために必要な情報が含まれます。この情報を使用してバウチャーをダウンロードするには、DRMManager クラスを使用します。イベントではありませんが、ローカルメディアファイルから埋め込みデータをプリロードするときにデータイベントに応答するので、Events セクションに記載されます。代わりに、1 つのコールバック関数を定義して、以下のオブジェクトのいずれかを直接アタッチする必要があります。ただし、NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラを定義することや、サブクラスをダイナミックにしてイベントハンドラ関数をサブクラスのインスタンスに追加することは可能です。再生中のメディアファイルにバイト配列として埋め込まれているイメージデータを Flash Player が受け取ったときに応答するリスナーを定義します。
表示オブジェクトにバイト配列を読み込むには、flash
代わりに、1 つのコールバック関数を定義して、以下のオブジェクトのいずれかを直接アタッチする必要があります。ただし、NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラを定義することや、サブクラスをダイナミックにしてイベントハンドラ関数をサブクラスのインスタンスに追加することは可能です。play() メソッドの呼び出し後、ただしビデオ再生ヘッドが進むよりは前にトリガされます。onImageData イベントオブジェクトは、イメージデータを AMF0 データチャンネルを介して送信されるバイト配列として格納します。コード内の "yourURL" を、テキストまたはイメージメタデータを含むメディアファイルの実際の場所に置き換える必要があります。カスタムクラスを使用してイメージおよびテキストデータを処理することもできます。再生中のビデオに埋め込まれた記述的情報を Flash Player が受け取ったときに応答するリスナーを定義します。代わりに、1 つのコールバック関数を定義して、以下のオブジェクトのいずれかを直接アタッチする必要があります。ただし、NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラを定義することや、サブクラスをダイナミックにしてイベントハンドラ関数をサブクラスのインスタンスに追加することは可能です。1 以降) は、ビデオの継続時間、作成日付、データレート、その他の情報をビデオファイルに埋め込みます。各ビデオエンコーダは、それぞれ異なるメタデータのセットを埋め込みます。play() メソッドの呼び出し後、ただしビデオ再生ヘッドが進むよりは前にトリガされます。多くの場合、ストリームメタデータに埋め込まれた継続期間の値は実際の継続時間に近似したものになりますが、正確な値ではありません。
つまり、再生ヘッドがビデオストリームの末尾にある場合、FLV メタデータに埋め込まれた継続期間の値は NetStream
time プロパティの値と必ずしも一致するわけではありません。onMetaData イベントハンドラに渡されるイベントオブジェクトには、各データに 1 つのプロパティが含まれています。NetStream オブジェクトによるストリームの再生が終了した場合に応答するリスナーを定義します。関連付けられたイベントオブジェクトは、netStatus イベントによって返される内容に加えて情報を提供します。代わりに、1 つのコールバック関数を定義して、以下のオブジェクトのいずれかを直接アタッチする必要があります。ただし、NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラを定義することや、サブクラスをダイナミックにしてイベントハンドラ関数をサブクラスのインスタンスに追加することは可能です。このイベントでは、次のプロパティが指定された情報オブジェクトを返すことができます。サブスクライバが、再生リストでストリームを切り替えています。再生が終了しました。ストリームのビットレートを切り替えた結果、サブスクライバは新しいストリームに切り替えています。Flash Player が再生中のメディアファイルに埋め込まれたテキストデータを受信したときに応答するリスナーを定義します。代わりに、1 つのコールバック関数を定義して、以下のオブジェクトのいずれかを直接アタッチする必要があります。ただし、NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラを定義することや、サブクラスをダイナミックにしてイベントハンドラ関数をサブクラスのインスタンスに追加することは可能です。play() メソッドの呼び出し後、ただしビデオ再生ヘッドが進むよりは前にトリガされます。onTextData イベントオブジェクトには、テキストデータごとに 1 つのプロパティが含まれます。コード内の "yourURL" を、テキストまたはイメージメタデータを含むメディアファイルの実際の場所に置き換える必要があります。カスタムクラスを使用してイメージおよびテキストデータを処理することもできます。代わりに、1 つのコールバック関数を定義して、以下のオブジェクトのいずれかを直接アタッチする必要があります。ただし、NetStream のサブクラスを作成し、そのサブクラス内にイベントハンドラを定義することや、サブクラスをダイナミックにしてイベントハンドラ関数をサブクラスのインスタンスに追加することは可能です。play() メソッドの呼び出し後、ただしビデオ再生ヘッドが進むよりは前にトリガされます。play() メソッドを呼び出して DRM(デジタル著作権管理)で暗号化されたコンテンツを再生しようとしたときに送出されます。
ステータスコードプロパティの値は "DRM
このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。オブジェクトのステータスの説明です。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。そのステータスをレポートするオブジェクトです。
NetStream インスタンスのコンストラクタに対するパラメータとして使用される静的オブジェクト
アプリケーションが使用してメディアをプログレッシブ再生することはありません。ピアーツーピアーの発行者接続を作成します。2 番目の(オプション)パラメータのこのストリングを、NetStream インスタンスのコンストラクタに渡します。アプリケーションはこのストリングを使用して、クライアントにオーディオおよびビデオをパブリッシュするための NetStream 接続を作成します。
例 例の使用法
この例を実行するには、videoURL に渡される変数と、ファイル名および場所が一致する FLV ファイルが必要です。play() メソッドを呼び出すコードがハンドラ関数に配置されます。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
ローカルファイルシステムのサンドボックス内の SWF ファイルは、ネットワーク接続したサンドボックス内のリソースからデータを読み込むことができないか、またはデータを渡すことができません。デフォルトで、呼び出し元の SWF ファイルおよびロードする URL は、同じドメインにある必要があります。com に置かれているソースからのみデータをロードできます。異なるドメインからデータをロードするには、データをホストするサーバに URL ポリシーファイルを配置します。ただし、Adobe AIR では、アプリケーションセキュリティサンドボックス内のコンテンツ(AIR アプリケーションと共にインストールされたコンテンツ)は、これらのセキュリティ制限による制限を受けません。Adobe AIR で実行中のコンテンツの場合、アプリケーションセキュリティサンドボックス内のファイルは、次のいずれかの URL スキームを使って URL にアクセスできます。アプリケーションセキュリティサンドボックスにない、Adobe AIR で実行されるコンテンツには、(Flash Player の)ブラウザで実行されるコンテンツと同じ制限が適用され、コンテンツのドメインと URL ポリシーファイルで付与されたアクセス許可によりロード操作が管理されます。セキュリティ情報について詳しくは、以下を参照してください。継承されるパブリックプロパティを隠す。
継承されるパブリックプロパティを表示
この要求に対する正常な応答データをキャッシュするかどうかを指定します。指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。URL リクエストで送信されるデータを含むオブジェクトです。HTTP プロトコルスタックでこの要求のクッキーを管理するかどうかを指定します。HTTP フォーム送信メソッドを制御します。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。この URLRequest がデータを取得する前に、ローカルキャッシュを参照するかどうかを指定します。HTTP 要求で使用されるユーザーエージェントストリングを指定します。継承されるパブリックメソッドを隠す。
継承されるパブリックメソッドを表示
オブジェクトに指定されたプロパティが定義されているかどうかを示します。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。指定されたプロパティが存在し、列挙できるかどうかを示します。ループ処理に対するダイナミックプロパティの可用性を設定します。指定されたオブジェクトのストリング表現を返します。指定されたオブジェクトのプリミティブな値を返します。
プロパティの詳細
以下の認証メソッドがサポートされています。この要求に対する正常な応答データをキャッシュするかどうかを指定します。true に設定すると、AIR アプリケーションはオペレーティングシステムの HTTP キャッシュを使用します。POST 処理は、マウスのクリックやキーの押下などのユーザーが開始したアクションに応答して実行する必要があります。POST 処理がクロスドメインである (POST ターゲットが、POST 要求を送信中の SWF ファイルと同じサーバー上にない) 場合は、クロスドメインアクセスを許可する URL ポリシーファイルをターゲットサーバーが提供する必要があります。シンタックスが有効でない場合は、アップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。URL リクエストで送信されるデータを含むオブジェクトです。このプロパティは method プロパティと一緒に使用します。データが使用される方法は、使用されるオブジェクトの型によって異なります。それ以外の場合、オブジェクトはストリングに変換され、そのストリングが POST または GET データとして使用されます。jsp でホストされるリモートアプリケーションを開き、URLVariables オブジェクトで捕捉したユーザーセッションに関するデータをアプリケーションに渡します。この例のハイライトは、次のとおりです。このとき、リモートアプリケーションの URL をパラメータとして取ります。メモ : この例を実行するには、この例のリモートアプリケーションの URL を実際の URL に置き換える必要があります。Adobe プラットフォームコンポーネントは、ユーザーのコンピュータに永続的にキャッシュされる SWF コンテンツを含む署名付きファイル (SWZ ファイル) です。すべての SWZ ファイルはアドビ システムズ社によって署名されます。ダイジェストは単一のキャッシュされているファイルに対応します。ファイルを何らかの方法で変更すると、ダイジェストは予期しない方法で変更されます。ダイジェストを使用することにより、複数のドメインにまたがってキャッシュされているファイルを確認できます。同じダイジェストを持つ 2 つのファイルは同じファイルで、異なるダイジェストを持つ 2 つのファイルは同じファイルではありません。ダイジェストに「なりすます」ファイル、ダイジェストを装うファイルを作成することは(実質的に)できません。エンドユーザーのコンピュータに一致する SWZ ファイルが既にキャッシュされている場合は、そのキャッシュされている SWZ ファイルが使用されます。それ以外の場合は、指定した URL から SWZ ファイルがアプリケーションによってダウンロードされます。load() メソッドを呼び出して SWZ ファイルを読み込む場合にのみ設定します。ArgumentError — 提供されるダイジェストは、ダウンロードされた署名付きファイルから抽出されたファイルのダイジェスト、またはキャッシュからロードされた署名付きファイルから抽出されたファイルのダイジェストとは一致しません。提供されたダイジェストの長さが誤っている場合、または提供されたダイジェストに無効な (16 進数以外の) 文字が含まれている場合にも、このエラーがスローされます。次の例では、キャッシュにリモートファイルをロードしています。ロードの最後で、バイト配列に(署名付きファイルでない)実際のファイルが格納されます。HTTP プロトコルスタックでこの要求のクッキーを管理するかどうかを指定します。true の場合、クッキーが要求に追加され、応答クッキーが記憶されます。false の場合、クッキーは要求に追加されず、応答クッキーは記憶されませんが、ユーザーは直接ヘッダを操作することでクッキー自体を管理できます。[インターネットのプロパティ] コントロールパネルを開き、[全般] タブをクリックします。HTTP フォーム送信メソッドを制御します。Adobe AIR で実行されるコンテンツの場合、そのコンテンツがアプリケーションセキュリティボックス内にあれば、どのストリング値も使用可能です。POST に設定されている場合でも同じです。このため、正しいメソッドが使用されるように、ダミーの body を必ず含めることをお勧めします。jsp でホストされるリモートアプリケーションを開き、URLVariables オブジェクトで捕捉したユーザーセッションに関するデータをアプリケーションに渡します。この例のハイライトは、次のとおりです。このとき、リモートアプリケーションの URL をパラメータとして取ります。メモ : この例を実行するには、この例のリモートアプリケーションの URL を実際の URL に置き換える必要があります。配列の各オブジェクトは、次のように名前ストリングと値ストリングを含む URLRequestHeader オブジェクトである必要があります。呼び出すメソッドのマニュアルを参照してください。ブラウザの制限により、カスタム HTTP リクエストヘッダは POST リクエストだけをサポートし、GET リクエストはサポートしません。デフォルトで、URL は呼び出し元のファイルと同じドメインにある必要があります。ただし、コンテンツが Adobe AIR アプリケーションセキュリティボックスで実行中の場合を除きます。異なるドメインからデータをロードする必要があるときは、データをホストするサーバに URL ポリシーファイルを配置します。Adobe AIR で実行されるコンテンツの場合、アプリケーションセキュリティサンドボックス内のファイル(AIR アプリケーションと共にインストールされるファイル)は、次の URL スキームのいずれかを使用して URL にアクセスできます。0 以降のバージョンでサポートされています。
IPv6 は、128 ビットのアドレスをサポートするインターネットプロトコルのバージョンです (32 ビットのアドレスをサポートする、以前の IPv4 プロトコルの機能を向上したものです)
ネットワークインターフェイスでの IPv6 のアクティブ化が必要になる場合があります。詳細については、データをホストするオペレーティングシステムのヘルプを参照してください。この URLRequest がデータを取得する前に、ローカルキャッシュを参照するかどうかを指定します。HTTP 要求で使用されるユーザーエージェントストリングを指定します。デフォルト値は、Flash Player で使用されるユーザーエージェントストリングと同じです。
コンストラクタの詳細
例 例の使用法
ロード処理が成功した場合、complete イベントが送出され、XML ファイル内のデータが出力されます。追加のイベントハンドラはエラーイベントを含む他のイベントをキャプチャします。xml というファイルを SWF ファイルと同じディレクトリに配置します。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
net パッケージには、新しいブラウザウィンドウを開く、URL 要求をサーバーに送信する、クラスエイリアスを扱うなどの操作を行うためのパッケージレベルの関数が含まれます。URL リクエストをサーバーに送信しますが、応答は無視します。Class — 指定されたエイリアスに関連付けられたクラスです。見つからない場合は、例外がスローされます。
セキュリティ上の重要な注意事項
攻撃者は、このような外部ソースを操作して、クロスサイトスクリプトのような攻撃の実行を試みます。したがって、開発者は、この関数に渡す前にすべての URL を検証する必要があります。URL の適切なデータ検証は、アプリケーション全体での URL の使用方法により、異なることを意味する場合があります。最も一般的なデータ検証方法の 1 つは、URL が正しいスキームであることを確認する方法です。URL が自分のドメイン内のものであることを検証することで、フィッシング攻撃によって SWF ファイルがオープンリダイレクタとして使用できないことを確認できます。さらにセキュリティを強化するには、URL のパスを検証し、URL が RFC のガイドラインに準拠していることを確認することもできます。Web アプリケーションによってはこの例が適していない場合があるので、URL に対して他の検査が必要かどうかを検討する必要があります。0 のプログラミング』のセキュリティに関する章の「ネットワーク API の制限」を参照してください。ブラウザで実行される Flash Player 10 以降では、このメソッドをプログラムで使用してポップアップウィンドウを開く方法は有効でない場合があります。ブラウザ(およびブラウザの設定)によってはポップアップウィンドウがブロックされる場合があり、すべてのポップアップウィンドウが表示される保証はありません。ただし、ユーザー操作の直接の結果として実行されるコード(マウスのクリックやキー入力イベントのイベントハンドラなど)に限っては、このクラスを使用してポップアップウィンドウを開く方法が有効です。POST 処理は、マウスのクリックやキーの押下などのユーザーが開始したアクションに応答して実行する必要があります。POST 処理がクロスドメインである (POST ターゲットが、POST 要求を送信中の SWF ファイルと同じサーバー上にない) 場合は、クロスドメインアクセスを許可する URL ポリシーファイルをターゲットサーバーが提供する必要があります。シンタックスが有効でない場合は、アップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。セキュリティ情報について詳しくは、以下を参照してください。特定のウィンドウの名前を入力するか、次の値のいずれかを使用します。"_top"は、現在のウィンドウ内の最上位のフレームを指定します。このパラメータに値を指定しない場合は、新しい空のウィンドウが作成されます。スタンドアローンプレーヤーでは、新しい ("_blank") ウィンドウまたは名前付きのウィンドウのいずれかを指定できます。その他の値は適用されません。メモ:ローカルファイルシステムのサンドボックスで実行される SWF ファイル内のコードが navigateToURL() 関数を呼び出して window パラメータにカスタムウィンドウ名を指定すると、そのウィンドウ名はランダム名に受け継がれます。同じセッション内で(含まれるブラウザウィンドウを閉じるまでに)再度この関数を呼び出して window パラメータに同じ名前を指定した場合は、同じランダムストリングが使用されます。信頼されていないローカル SWF はインターネットへの接続を許可されません。スクリプティング疑似 URL を評価するために試行された移動操作です。ただし、含まれるドキュメント (一般にブラウザ内の HTML ドキュメント) はアクセス権限が与えられていないサンドボックスからのものです。デフォルト以外の名前を持つウィンドウを、ローカルファイルシステムのサンドボックスにある SWF ファイル内から移動することはできません。一般的な予約ポートに接続することはできません。0 のプログラミング』のセキュリティに関する章の「ネットワーク API の制限」を参照してください。
Error — マウスイベントやキー入力イベントなどのユーザー操作に応じてメソッドが呼び出されない場合
オブジェクトを AMF にエンコードする場合、この関数は、そのクラスのエイリアスを保存し、オブジェクトのデコード時にクラスを復元できるようにします。エンコードコンテキストで、オブジェクトのクラスのエイリアスが登録されていない場合、オブジェクトは匿名オブジェクトとしてエンコードされます。同様に、デコードコンテキストで、同じエイリアスが登録されていない場合、デコードするデータに対して、匿名オブジェクトが作成されます。エンコードおよびデコードコンテキストでは、エイリアスに同じクラスを使用する必要はありません。エンコード先およびデコード先のクラスに、ソースクラスによって直列化されたすべてのメンバーが含まれている限り、クラスを意図的に変更できます。クラスのエイリアスが登録されると、オブジェクトを ExampleClass のインスタンスとして非直列化できるようになり、コードは true を出力します。URL リクエストをサーバーに送信しますが、応答は無視します。一般的な予約ポートに接続することはできません。0 のプログラミング』のセキュリティに関する章の「ネットワーク API の制限」を参照してください。POST 処理は、マウスのクリックやキーの押下などのユーザーが開始したアクションに応答して実行する必要があります。POST 処理がクロスドメインである (POST ターゲットが、POST 要求を送信中の SWF ファイルと同じサーバー上にない) 場合は、クロスドメインアクセスを許可する URL ポリシーファイルをターゲットサーバーが提供する必要があります。シンタックスが有効でない場合は、アップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。セキュリティ情報について詳しくは、以下を参照してください。0 のプログラミング』のセキュリティに関する章の「ネットワーク API の制限」を参照してください。jsp にあるアプリケーションに渡します。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
Security クラスによって、異なるドメインに属するコンテンツが互いにどのようにやり取りするかを指定できます。継承されるパブリックプロパティを隠す。
継承されるパブリックプロパティを表示
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。設定には、カメラとマイクの許可、記憶領域の割り当て、永続共有オブジェクトの記憶領域などがあります。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。[静的] [読み取り専用] 呼び出し元のファイルが動作しているセキュリティサンドボックスのタイプを示します。継承されるパブリックメソッドを隠す。
継承されるパブリックメソッドを表示
[静的] 指定したドメイン内の SWF ファイルおよび HTML ファイルが、HTTPS プロトコルでホストされた呼び出し元 SWF ファイルのオブジェクトと変数にアクセスすることを許可します。オブジェクトに指定されたプロパティが定義されているかどうかを示します。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。[静的] url パラメータで指定された場所でポリシーファイルを探します。指定されたプロパティが存在し、列挙できるかどうかを示します。ループ処理に対するダイナミックプロパティの可用性を設定します。指定されたオブジェクトのストリング表現を返します。指定されたオブジェクトのプリミティブな値を返します。[静的] このファイルは AIR アプリケーションで実行され、そのアプリケーションのパッケージ(AIR ファイル)と共にインストールされます。[静的] このファイルはローカルファイルであり、信頼性があります。[静的] このファイルはローカルファイルであり、信頼性はなく、ネットワークを指定してパブリッシュされた SWF ファイルではありません。[静的] このファイルはローカルファイルであり、信頼性はありませんが、ネットワークを指定してパブリッシュされた SWF ファイルです。[静的] このファイルはインターネット URL からのものであり、ドメインベースのサンドボックス規則に従って機能します。
プロパティの詳細
設定には、カメラとマイクの許可、記憶領域の割り当て、永続共有オブジェクトの記憶領域などがあります。Flash Player 6 では、これらのプレーヤー設定に使用されていたドメインは、SWF ファイルのドメインの最後の部分に基づいていました。com がこれらの設定のドメインとして使用されます。uk をこれらの設定のドメインとして使用します。com のプレーヤー設定を使用します。例えば、カメラまたはマイクの使用や永続共有オブジェクトの取得などのイベントの前です。
バージョン 6 の SWF ファイルをパブリッシュし、そのファイルから永続共有オブジェクトを作成しているときに、バージョン 7 以降にその SWF ファイルを移植した後で SWF ファイルからその永続共有オブジェクトを取得するか、バージョン 7 以降の別の SWF ファイルからその永続共有オブジェクトを取得する必要がある場合は、Security
呼び出し元のファイルが動作しているセキュリティサンドボックスのタイプを示します。REMOTE):このファイルはインターネット URL からのものであり、ドメインベースのサンドボックス規則に従って機能します。ファイルは、ローカルのデータソースから読み取ることはできますが、インターネットでのやり取りはできません。この SWF ファイルはインターネットとのやり取りはできますが、ローカルデータソースからの読み取りはできません。このファイルは、ローカルのデータソースから読み取ることも、インターネットでやり取りすることもできます。
デフォルトでは、AIR アプリケーションサンドボックスのファイルは、任意のドメインの任意のファイルをクロススクリプトできます(ただし、AIR アプリケーションサンドボックス外のファイルでは、AIR ファイルをクロススクリプトできない場合があります)
デフォルトでは、AIR アプリケーションサンドボックスのファイルは、任意のドメインからコンテンツおよびデータを読み込むことができます。セキュリティ情報について詳しくは、以下を参照してください。
メソッドの詳細
アプリケーションセキュリティドメイン外のコンテンツは、アプリケーションサンドボックスのコンテンツを直接クロススクリプトできません。ただし、アプリケーションサンドボックス外のコンテンツは、サンドボックスブリッジを使用してアプリケーションセキュリティサンドボックスのコンテンツと通信できます。swf に対して同様のことを実行できます。これは、クロスムービースクリプトまたはクロススクリプトと呼ばれます。swf をスクリプトすることも許可されません。これをクロスドメインスクリプトと呼びます。swf をスクリプトする許可が付与されます。クロスドメインの場合は、関与する 2 つのドメインを明確にすることが重要です。説明のため、ここでは、クロススクリプトを実行する側をアクセス元 (通常、アクセスする SWF) と呼び、他をアクセス先 (通常、アクセスされる SWF ファイル) と呼びます。swf がアクセス先となります。swf をスクリプトできません。それ以外の場合、操作は失敗します。allowDomain() にパラメータとして IP アドレスを指定しても、指定された IP アドレスに存在するすべてのアクセス元からのアクセスが許可されるわけではありません。許可されるのは、その IP アドレスにマッピングされるドメイン名ではなく、指定された IP アドレスが URL に含まれるアクセス元からのアクセスだけです。
バージョン固有の相違点
Flash Player のクロスドメインセキュリティ規則は、バージョンを追うごとに発展してきました。次の表は、相違点をまとめたものです。
クロススクリプトに関係する最新の SWF のバージョン
はい (スーパードメインが一致しない場合)
アクセス先 SWF ファイルまたはアクセス先 SWF ファイルと同じスーパードメインにある任意の SWF ファイル
はい (ドメインが完全に一致しない場合)
アクセス先 SWF ファイルまたはアクセス先 SWF ファイルとまったく同じドメインにある任意の SWF ファイル
はい (ドメインが完全に一致しない場合)
前の表のバージョン列は、クロススクリプト操作に関係する最新の SWF のバージョンを示しています。バージョン 5 : クロスドメインスクリプトの制限はありません。バージョン 6 : クロスドメインスクリプトのセキュリティが導入されました。デフォルトでは、クロスドメインスクリプトは禁止されています。2 つのファイルが同じドメインに属しているかどうかを判別するため、各ファイルのスーパードメインが使用されます。このスーパードメインは、ファイルの URL の完全なホスト名から最初のセグメントを除き、最低 2 セグメントにまでしたものです。バージョン 7 : スーパードメイン一致が、完全なドメイン一致に変更されました。2 つのファイルでお互いにスクリプトの実行が許可されるのは、それらの URL のホスト名が同じ場合だけです。デフォルトでは、HTTPS 以外の URL からロードしたファイルは、まったく同じドメインからファイルをロードしたとしても、HTTPS の URL からロードしたファイルをスクリプトできません。この制限は HTTPS ファイルの保護に役立ちます。HTTPS 以外のファイルは、ダウンロード中に変更されやすく、HTTPS 以外のファイルが悪意を持って変更されると、このような不正操作を受けにくい HTTPS ファイルを損傷する可能性があります。バージョン 8 : 2 つの主要な変更点は次のとおりです。ワイルドカード (*) 値を使用すると、アクセス元ファイルがどこからロードされたかを問わず、任意のファイルでクロススクリプト操作を許可できます。ワイルドカードは、グローバル許可と考えてください。ワイルドカード許可は、ローカルファイルセキュリティ規則の下で特定の操作を有効にする場合に必要となります。
具体的には、ローカル SWF ファイルで、その SWF ファイルにインターネット上の SWF ファイルをスクリプトするネットワークアクセス許可がある場合、アクセス先のインターネット SWF ファイルは、ローカル SWF ファイルの出所が不明であることを反映して、Security
場合によっては、他のドメインから子 SWF ファイルをロードし、その子 SWF ファイルで親 SWF ファイルをスクリプトしたいが、子 SWF ファイルの最終的なドメインがわからないという状況になることがあります。たとえば、ロードバランシングリダイレクトやサードパーティ製サーバーを使用する場合などです。url プロパティの正しい値を取得するために、子 SWF ファイルのロードが開始されるまで待つようにしてください。この反対の状況が発生する場合もあります。つまり、親 SWF ファイルで子 SWF ファイルをスクリプトしたいが、親 SWF ファイルのドメインがわからない場合です。この状況では、SWF のルートオブジェクトである表示オブジェクトの loaderInfo プロパティにアクセスできます。親 SWF ファイルがロードされるまで待つ必要はありません。親 SWF ファイルは子 SWF ファイルがロードされた時点で既にロードされています。ただし、これは危険な近道になりかねません。任意のドメインの任意の他の SWF ファイルから呼び出し元 SWF ファイルにアクセスできるようになるためです。通常、_url プロパティを使用した方が安全です。セキュリティ情報について詳しくは、以下を参照してください。特別なドメイン "*" を指定して、すべてのドメインからのアクセスを許可できます。アプリケーションセキュリティサンドボックス外のコンテンツは、アプリケーションセキュリティサンドボックスのコンテンツをクロススクリプトできません。指定したドメイン内の SWF ファイルおよび HTML ファイルが、HTTPS プロトコルでホストされた呼び出し元 SWF ファイルのオブジェクトと変数にアクセスすることを許可します。アプリケーションセキュリティドメイン外のコンテンツは、アプリケーションサンドボックスのコンテンツを直接クロススクリプトできません。ただし、アプリケーションサンドボックス外のコンテンツは、サンドボックスブリッジを使用してアプリケーションセキュリティサンドボックスのコンテンツと通信できます。ただし、アクセス元が HTTPS 以外のプロトコルでロードされ、アクセス先が HTTPS でロードされる操作も許可します。com にある SWF ファイルをスクリプトする場合) を有効にするために使用します。HTTPS 以外のファイル間でのスクリプト、HTTPS ファイル間でのスクリプトまたは HTTPS ファイルから HTTPS 以外のファイルへのスクリプトを有効にするためには使用しないでください。セキュリティアーキテクチャに関する問題をすべて取り上げているわけではなく、背景情報としてのみ使用する必要があります。詳細については、Flash Player デベロッパーセンターのトピック:セキュリティを参照してください。次の 2 つのコンポーネントから構成される e-コマースサイトを構築するシナリオについて考えてみます。1 つはカタログで、公開情報しか含まれていないため、保護する必要はありません。もう 1 つは、ショッピングカート/チェックアウトコンポーネントで、ユーザーの財務情報と個人情報を保護するためにセキュリティで保護する必要があります。swf から提供するものとします。このサイトの 1 つの要件として、第三者がセキュリティアーキテクチャの脆弱性を利用して、ユーザーのクレジットカード番号を盗むことができないことが挙げられます。ここで、中間当事者である攻撃者がサーバーとユーザーの間に介入して、ユーザーがショッピングカートアプリケーションに入力したクレジットカード番号を盗もうとするとします。中間当事者としては、一部のユーザーが利用している悪質な ISP、ユーザーの職場にいる悪意がある管理者など、パブリックインターネット経由で送信されるネットワークパケットをユーザーとサーバー間で表示または変更できるものが考えられます。この状況は珍しいことではありません。swf で HTTPS を使用してクレジットカード情報をサーバーに送信している場合、中間当事者の攻撃者は、HTTPS 送信が暗号化されているため、ネットワークパケットから直接この情報を盗むことができません。ただし、攻撃者は別の手法を使用できます。それは、いずれかの SWF ファイルの内容をユーザーへの配信時に変更し、その SWF ファイルを (ユーザー情報を攻撃者が所有する別のサーバーに送信する) 改変バージョンと置き換えるという手法です。暗号化されているだけでなく、HTTPS 送信に不正操作防止機能が付いているためです。中間当事者の攻撃者がパケットを変更すると、受信側はその変更を検出し、パケットを廃棄します。このファイルが HTTPS 経由で配信されるからです。swf 内のショッピングカートにアイテムを追加できるようにしたいとします。
この機能を実現するために、cart
swf をスクリプトできます。ただし、このアクションでは、予期しない結果が発生します。swf をユーザーが最初にダウンロードする際、その内容を変更できます。swf をスクリプトできるようになります。swf 内の変数にアクセスできるため、ユーザーのクレジットカード情報やその他の機密データを読み取ることができます。swf は、このデータを攻撃者のサーバーに送信できます。この実装は明らかに好ましいものではありませんが、サイト上の 2 つの SWF ファイル間でクロススクリプトを許可したい場合があります。これは最も単純で信頼性が高いソリューションです。swf などのファイルを HTTP から HTTPS に切り替える際、帯域幅の使用量とサーバーの CPU 負荷が少し上がり、ユーザー側では、アプリケーションのロード時間がやや長くなる可能性があります。実際のサーバーで実験して、これらの影響の重大度を判別する必要があります。サーバーにある HTTPS 加速ハードウェアやソフトウェアを使用すると、通常は結果を改善できます。関係するすべての SWF ファイルを HTTPS 経由で提供する主要なメリットは、ブラウザから内容が混在した警告を生成せずに、HTTPS URL をユーザーのブラウザ内の主要な URL として使用できることです。また、ブラウザのカギのアイコンが表示されるため、セキュリティに関する共通の信頼できるインジケータがユーザーに提供されます。
説明したシナリオでは、ユーザーのショッピングカートの内容を catalog
swf でチェックアウトプロセスのみ管理させることができます。swf ファイルをスクリプトできます。このアプローチは、すべて HTTPS 経由のアプローチよりも微妙な点があります。不正操作を受けやすいため、HTTP 経由で提供される SWF ファイルは信頼しないように注意する必要があります。swf に好ましくないアクションを実行させる無効なデータが含まれていないことを調べる必要があります。
swf を変更して、例えば、ユーザーのカートにアイテムを入れることにより、有効だが不正確なデータを cart
swf に提供する危険性を甘受する必要があります。通常のチェックアウトプロセスでは、カートの内容と合計金額を表示してユーザーに最後の承認を求めることで、この危険性をいくぶん緩和していますが、それでも危険性は残っています。説明したシナリオでは、この制限が必要であることの 1 つの理由が明確に示されています。Flash Player では、絶対必要な場合、このセキュリティの制限を回避できますが、それを実行する前に結果を慎重に検討する必要があります。セキュリティ情報について詳しくは、以下を参照してください。特別なドメイン "*" を指定して、すべてのドメインからのアクセスを許可できます。アプリケーションセキュリティサンドボックス外のコンテンツは、アプリケーションセキュリティサンドボックスのコンテンツをクロススクリプトできません。url パラメータで指定された場所でポリシーファイルを探します。Adobe AIR および Flash Player は、ポリシーファイルを使用して、アプリケーションが自身のサーバー以外のサーバーからデータをロードしてよいかどうか判断します。メソッド名は loadPolicyFile() ですが、ネットワー要求によってポリシーファイルが要求されるまではファイルは実際にはロードされません。次に例を示します。この場所に置かれているポリシーファイルによって得られる許可は、サーバーの仮想ディレクトリ階層で同レベル以下のコンテンツすべてに適用されます。例えば、前のコードに続くこれらの行によって例外はスローされません。ただし、次のコードではセキュリティ例外がスローされます。ポリシーファイルを必要とする要求がある場合、Flash Player または AIR はポリシーファイルのダウンロードがすべて完了するまで必ず待機します。その間に要求が拒否されることはありません。loadPolicyFile() で指定されたポリシーファイルによって要求が許可されなかった場合は、最終的にデフォルトの場所が参照されます。応答がない場合、Flash Player ではマスターポリシーファイルが存在しないと判断されます。Flash Player では、呼び出されているファイルが存在するものとして、そのファイルをロードするのに必要なだけ待機します。よく予約されるポートから提供されるポリシーファイルは読み込めません。0 のプログラミング』)の「ネットワーク API の制限」を参照してください。次に例を示します。ソケット接続は、上記のよく予約されるポートに関する制限事項の対象外です。このコードを使用すると、Flash Player または AIR は指定されたホストとポートからポリシーファイルを取得しようとします。ポリシーファイルを終了するためにサーバーから バイトを送信し、それ以降の接続を閉じる必要があります。セキュリティ情報について詳しくは、以下を参照してください。AIR アプリケーションでこのメソッドを呼び出しても無効です。このファイルは AIR アプリケーションで実行され、そのアプリケーションのパッケージ (AIR ファイル) と共にインストールされます。このコンテンツは AIR アプリケーションリソースディレクトリ (アプリケーションコンテンツのインストール先) に含まれています。このファイルはローカルファイルであり、信頼性があります。このファイルは、ローカルのデータソースから読み取ることも、インターネットでやり取りすることもできます。このファイルはローカルファイルであり、信頼性はなく、ネットワークを指定してパブリッシュされた SWF ファイルではありません。Adobe AIR では、ローカルファイルはアプリケーションリソースディレクトリにはありません。これらのファイルはアプリケーションセキュリティサンドボックスに配置されます。ファイルは、ローカルのデータソースから読み取ることはできますが、インターネットでのやり取りはできません。このファイルはローカルファイルであり、信頼性はありませんが、ネットワークを指定してパブリッシュされた SWF ファイルです。このファイルはインターネットとのやり取りはできますが、ローカルデータソースからの読み取りはできません。このファイルはインターネット URL からのものであり、ドメインベースのサンドボックス規則に従って機能します。
例 例の使用法
オレンジのボックスが draw() () を使用してステージに追加されます。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
CSM は、線の太さとエッジのシャープネスの両方を連続的に変調します。継承されるパブリックプロパティを隠す。
継承されるパブリックプロパティを表示
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
設定が適用されるサイズです (ピクセル単位)
内部カットオフ値です。これより密度が大きいと、最大密度値 (255 など) に設定されます。外部カットオフ値です。これより密度が低い場合は 0 に設定されます。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。継承されるパブリックメソッドを隠す。
継承されるパブリックメソッドを表示
カスタムアンチエイリアス設定の線の値を格納する新しい CSMSettings オブジェクトを作成します。オブジェクトに指定されたプロパティが定義されているかどうかを示します。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。指定されたプロパティが存在し、列挙できるかどうかを示します。ループ処理に対するダイナミックプロパティの可用性を設定します。指定されたオブジェクトのストリング表現を返します。指定されたオブジェクトのプリミティブな値を返します。
プロパティの詳細
設定が適用されるサイズです (ピクセル単位)
このプロパティを使用して、他の設定が適用されるフォントサイズを指定できます。内部カットオフ値です。これより密度が大きいと、最大密度値 (255 など) に設定されます。外部カットオフ値です。これより密度が低い場合は 0 に設定されます。
コンストラクタの詳細
カスタムアンチエイリアス設定の線の値を格納する新しい CSMSettings オブジェクトを作成します。これより密度が大きいと、最大密度値 (255 など) に設定されます。これより密度が低い場合は 0 に設定されます。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
TextField クラスは、テキストの表示と入力用の表示オブジェクトを作成するために使用されます。SWF ファイルのダイナミックテキストフィールドおよびテキスト入力フィールドは、すべて TextField クラスのインスタンスです。テキストフィールドを動的に作成する場合は、TextField() コンストラクタを使用します。TextField クラスのメソッドを使用すると、オーサリング時または実行時に作成したダイナミックテキストフィールドやテキスト入力フィールドにテキストを設定、選択、および操作できます。ActionScript には、テキストを実行時にフォーマットする方法がいくつか用意されています。CSS を使用すると、ビルトイン HTML タグのスタイル設定、新しいフォーマットタグの定義、またはスタイルの適用を行うことができます。HTML 形式のテキスト(CSS スタイルを使用している場合も可)をテキストフィールドに直接割り当てることができます。この場合テキストは、Web ブラウザ上で HTML ドキュメントの埋め込みメディアの周りをテキストが囲むのと同じように、埋め込みメディアの周りを囲みます。継承されるパブリックプロパティを隠す。
継承されるパブリックプロパティを表示
この表示オブジェクトの現在のアクセシビリティオプションです。指定されたオブジェクトのアルファ透明度値を示します。true に設定され、テキストフィールドにフォーカスがない場合、テキストフィールド内の選択内容は灰色でハイライト表示されます。このテキストフィールドに使用されるアンチエイリアス処理のタイプです。テキストフィールドの自動的な拡大 / 縮小および整列を制御します。テキストフィールドに背景の塗りがあるかどうかを指定します。テキストフィールドの背景の色です。[書き込み専用] 前景と背景のブレンドに使用するシェーダを設定します。テキストフィールドに境界線があるかどうかを指定します。テキストフィールドの境界線の色です。
[読み取り専用] 指定されたテキストフィールドに現在表示されている一番下の行を示す整数です (1 から始まるインデックス)
[読み取り専用] カーソル (キャレット) 位置のインデックスです。HTML テキストが含まれるテキストフィールド内の余分な空白(スペース、改行など)を削除するかどうかを指定するブール値です。指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。このオブジェクトに関連付けられたコンテキストメニューを指定します。テキストフィールドがパスワードテキストフィールドであるかどうかを指定します。埋め込みフォントのアウトラインを使用してレンダリングするかどうかを指定します。表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。このオブジェクトがフォーカス矩形を表示するかどうかを指定します。このテキストフィールドに使用されるグリッドフィッティングのタイプです。
表示オブジェクトの高さを示します (ピクセル単位)
テキストフィールドの内容を HTML で表します。[読み取り専用] テキストフィールド内の文字数です。[読み取り専用] この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。ユーザーが入力するときに、テキストフィールドに入る最大の文字数です。このオブジェクトがマウスメッセージを受け取るかどうかを指定します。複数行にわたるテキストフィールドで、ユーザーがテキストフィールドをクリックしてホイールを回転させると、自動的にスクロールするかどうかを示すブール値です。
[読み取り専用] マウス位置の x 座標を示します(ピクセル単位)
[読み取り専用] マウス位置の y 座標を示します(ピクセル単位)
フィールドが複数行テキストフィールドであるかどうかを示します。[読み取り専用] 複数行テキストフィールド内のテキスト行の数を定義します。表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。ユーザーがテキストフィールドに入力できる文字のセットを指定します。[読み取り専用] 読み込まれた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。現在有効な拡大 / 縮小グリッドです。基準点から適用されるオブジェクトの水平スケール(パーセンテージ)を示します。オブジェクトの基準点から適用されるオブジェクトの垂直スケール(percentage)を示します。オブジェクトの基準点から適用されるオブジェクトの奥行きスケール(パーセンテージ)を示します。現在の水平スクロール位置です。表示オブジェクトのスクロール矩形の境界です。テキストフィールドのテキストの垂直位置です。テキストフィールドが選択可能であるかどうかを示すブール値です。[読み取り専用] 現在の選択範囲の最初の文字を示す、0 から始まるインデックス値です。[読み取り専用] 現在の選択範囲における最後の文字を示す、0 から始まるインデックス値です。このテキストフィールド内の文字エッジのシャープネスです。[読み取り専用] 表示オブジェクトのステージです。テキストフィールドにスタイルシートを関連付けます。このオブジェクトがタブ順序に含まれるかどうかを指定します。SWF ファイル内のオブジェクトのタブ順序を指定します。テキストフィールド内の現在のテキストであるストリングです。
テキストフィールドのテキストの色です (16 進数形式)
[読み取り専用] テキストの高さです (ピクセル単位)
[読み取り専用] テキストの幅です (ピクセル単位)
このテキストフィールド内の文字エッジの太さです。表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。テキストフィールドのタイプです。テキストと共にテキストのフォーマットをコピー&ペーストするかどうかを指定します。表示オブジェクトが可視かどうかを示します。
表示オブジェクトの幅を示します (ピクセル単位)
テキストフィールドのテキストを折り返すかどうかを示すブール値です。継承されるパブリックメソッドを隠す。
継承されるパブリックメソッドを表示
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。newText パラメータで指定されたストリングを、テキストフィールドのテキストの最後に付加します。イベントをイベントフローに送出します。文字の境界ボックスである矩形を返します。x および y パラメータで指定された点にある文字の、0 から始まるインデックス値を返します。文字インデックスを指定すると、同じ段落内の最初の文字のインデックスを返します。x および y パラメータで指定された点にある行の 0 から始まるインデックス値を返します。charIndex パラメータで指定された文字を含む行の 0 から始まるインデックス値を返します。特定のテキスト行内の文字数を返します。指定されたテキスト行に関するメトリック情報を返します。lineIndex パラメータで指定された行の最初の文字の文字インデックスを返します。文字インデックスを指定すると、指定された文字を含む段落の長さを返します。point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。ステージ(グローバル)座標の 2 次元のポイントを 3 次元の表示オブジェクトの(ローカル)座標に変換します。EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。オブジェクトに指定されたプロパティが定義されているかどうかを示します。表示オブジェクトの境界ボックスを評価して、obj 表示オブジェクトの境界ボックスと重複または交差するかどうかを調べます。表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。3 次元の表示オブジェクトの(ローカル)座標の 3 次元のポイントをステージ(グローバル)座標の 2 次元のポイントに変換します。point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。指定されたプロパティが存在し、列挙できるかどうかを示します。現在の選択内容を value パラメータの内容に置き換えます。ループ処理に対するダイナミックプロパティの可用性を設定します。最初の文字と最後の文字のインデックス値によって指定されたテキストを選択済みに設定します。format パラメータで指定したテキストフォーマットを、テキストフィールド内の指定されたテキストに適用します。指定されたオブジェクトのストリング表現を返します。指定されたオブジェクトのプリミティブな値を返します。指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。継承されるイベントを隠す。
継承されるイベントを表示
[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。表示オブジェクトが表示リストに追加されたときに送出されます。表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの追加により、ステージ上の表示リストに追加されたときに送出されます。値が変更される前に送出される textInput イベントとは異なり、コントロールの値が変更された後に送出されます。ユーザーがコンテキストメニューから「削除」を選択した場合に送信されます。ユーザージェスチャが AIR アプリケーションでこのインタラクティブオブジェクトに関連付けられたコンテキストメニューをトリガすると、送出されます。ユーザーがコピー操作のためにプラットフォーム固有のアクセラレータキーの組み合わせをアクティブ化したとき、またはコンテキストメニューから「コピー」を選択した場合に送信されます。ユーザーがカット操作のためにプラットフォーム固有のアクセラレータキーの組み合わせをアクティブ化したとき、またはコンテキストメニューから「カット」を選択した場合に送信されます。[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。[ブロードキャストイベント] 再生ヘッドが新しいフレームに入るときに送出されます。[ブロードキャストイベント] 再生ヘッドが現在のフレームを終了するときに送出されます。表示オブジェクトがフォーカスを取得した後に送出されます。表示オブジェクトがフォーカスを失った後に送出されます。[ブロードキャストイベント] フレーム表示オブジェクトのコンストラクタが実行した後で、かつフレームスクリプトが実行される前に送出されます。ユーザーがキーを押したときに送出されます。ユーザーがキーボード操作によってフォーカスを変更しようとすると送出されます。ユーザーがキーを離したときに送出されます。
HTML が有効になっているテキストフィールドのハイパーリンクをユーザーがクリックしたときに送出されます(URL は "event:" で始まります)
ユーザーがポインティングデバイスでフォーカスを変更しようとすると送出されます。
ドラッグされたオブジェクトがターゲットにドロップされ、そのドロップ操作が DragManager
ユーザーがペースト操作のためにプラットフォーム固有のアクセラレータキーの組み合わせをアクティブ化したとき、またはコンテキストメニューから「ペースト」を選択した場合に送信されます。表示オブジェクトが表示リストから削除されようとしているときに送出されます。表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの削除により、表示リストから削除されようとしているときに送出されます。[ブロードキャストイベント] 表示リストが更新およびレンダリングされようとしているときに送出されます。ユーザーがスクロールした後に、TextField オブジェクトによって送出されます。ユーザーがすべて選択操作のためにプラットフォーム固有のアクセラレータキーの組み合わせをアクティブ化したとき、またはコンテキストメニューから「すべて選択」を選択した場合に送信されます。オブジェクトの tabIndex プロパティの値が変更されたときに送出されます。
プロパティの詳細
true に設定され、テキストフィールドにフォーカスがない場合、テキストフィールド内の選択内容は灰色でハイライト表示されます。false に設定され、テキストフィールドにフォーカスがない場合、テキストフィールド内の選択内容はハイライト表示されません。次のファイルをコンパイルして実行します。
ファイルの実行時に、2 つのテキストフィールドでそれぞれのテキストをドラッグ操作で選択すると、2 つのテキストフィールドでの選択ハイライトの違いがわかります (フォーカスの変更)
このテキストフィールドに使用されるアンチエイリアス処理のタイプです。このプロパティの値を設定するには、次のストリング値を使用します。通常のテキストにアンチエイリアスを適用します。この値は、Flash Player 7 以前のバージョンで使用されているアンチエイリアスのタイプと一致します。文字を読みやすくする高度なアンチエイリアスを適用します。高度なアンチエイリアスでは、小さいサイズのフォントフェイスを高品質でレンダリングすることができます。これは、小さいフォントのテキストが多いアプリケーションでの使用に最も適しています。48 ポイントより大きいフォントに対して高度なアンチエイリアスを使用することはお勧めしません。テキストフィールドの自動的な拡大・縮小および整列を制御します。NONE(デフォルト値)に設定されていると、サイズ変更は行われません。LEFT に設定すると、テキストは左揃えテキストとして扱われます。つまり、テキストフィールドの左マージンが固定され、テキストフィールドの単一行の右マージンのみが伸縮します。テキストに改行("\n" または "\r" など)が含まれる場合、テキストの次の行が収まるようにフィールドの下側も拡張されます。wordWrap も true に設定した場合、テキストフィールドの下側だけが伸縮し、右側は固定されたままになります。RIGHT に設定すると、テキストは右揃えテキストとして扱われます。つまり、テキストフィールドの右マージンが固定され、テキストフィールドの単一行の左マージンのみが伸縮します。テキストに改行(例えば "\n" or "\r"))が含まれる場合、テキストの次の行が収まるようにフィールドの下側も拡張されます。wordWrap も true に設定した場合、テキストフィールドの下側だけが伸縮し、左側は固定されたままになります。CENTER に設定すると、テキストは中央揃えテキストとして扱われます。つまり、テキストフィールドの単一行のサイズ変更を行うと、左右両マージンが均等に伸縮されます。テキストに改行("\n" または "\r" など)が含まれる場合、テキストの次の行が収まるようにフィールドの下側も拡張されます。wordWrap も true に設定した場合、テキストフィールドの下側だけが伸縮し、左右両側は固定されたままになります。テキストフィールドに背景の塗りつぶしがあるかどうかを指定します。true である場合、テキストフィールドに背景の塗りがあります。false である場合、テキストフィールドには背景の塗りがありません。
テキストフィールドの背景の色
このプロパティは、現在背景がない場合でも取得または設定できます。ただし、背景の色が表示されるのはテキストフィールドの background プロパティが true に設定されている場合のみです。テキストフィールドに境界線があるかどうかを指定します。true である場合、テキストフィールドに境界線があります。false である場合、テキストフィールドに境界線がありません。
テキストフィールドの境界線の色
このプロパティは、現在境界線がない場合でも取得または設定できます。ただし、境界線の色が表示されるのはテキストフィールドの border プロパティが true に設定されている場合のみです。
指定されたテキストフィールドの現在の表示範囲で最終行を示す整数です (1 から始まるインデックス)
テキストフィールドは、テキストのブロックにかぶせたウィンドウのようなものです。
scrollV プロパティは、そのウィンドウに表示されている先頭行を示すインデックスです (1 から始まるインデックス)
カーソル (キャレット) 位置のインデックスです。カーソルが表示されていない場合、この値は、フォーカスをフィールドに戻した場合にカーソルが表示される位置を示します。通常は、カーソルの最後の位置を示します。フィールドにフォーカスがなかった場合は 0 になります。選択範囲のインデックスは 0 から始まります。つまり、最初の位置は 0、2 番目の位置は 1 で、以下同様に続きます。次に、テキストを選択せずにテキストフィールドをクリックします。HTML テキストが含まれるテキストフィールド内の余分な空白(スペース、改行など)を削除するかどうかを指定するブール値です。次に例を示します。null のプロパティはありません。メモ: このプロパティはテキストフィールドにスタイルシートが適用されていると設定できません。Error — このメソッドは、スタイルシートを使用するテキストフィールドに対しては使用できません。テキストフィールドがパスワードテキストフィールドであるかどうかを指定します。このプロパティの値が true である場合、テキストフィールドはパスワードテキストフィールドとして扱われ、入力された文字は実際の文字の代わりにアスタリスクで隠されます。false である場合、テキストフィールドはパスワードテキストフィールドとして扱われません。パスワードモードを有効にすると、「カット」コマンドと「コピー」コマンド、およびそれに対応するキーボードショートカットが機能しなくなります。このセキュリティ機能により、ユーザーの不在時にキーボードショートカットを使用して悪質なユーザーがパスワードを盗むことを防止できます。埋め込みフォントのアウトラインを使用してレンダリングするかどうかを指定します。false である場合は、デバイスフォントを使用してテキストフィールドをレンダリングします。指定したフォントが SWF ファイルに埋め込まれていない場合、テキストは表示されません。このテキストフィールドに使用されるグリッドフィッティングのタイプです。
このプロパティは、テキストフィールドの flash
使用されるグリッドフィッティングのタイプによって、太い水平線と垂直線がピクセルグリッドまたはサブピクセルグリッドに合わされるか、まったく合わされないかが決定されます。グリッドフィッティングなしを指定します。文字の水平方向と垂直方向の線は、ピクセルグリッドに合わされません。これは、アニメーションや大きなフォントサイズにお勧めする設定です。太い水平線と垂直線がピクセルグリッドに合わされるように指定します。この設定は左揃えのテキストフィールドに対してのみ機能します。
この設定を使用するには、テキストフィールドの flash
左揃えのテキストは通常、この設定を使用すると、最も読みやすくなります。太い水平線と垂直線が、LCD モニタのサブピクセルグリッドに合わされるよう指定します。
この設定を使用するには、テキストフィールドの flash
SUBPIXEL 設定は、右揃えまたは中央揃えのダイナミックテキストに適した設定で、アニメーション品質とテキスト品質のバランスを取るのに便利です。この例を使用する場合は、最初の 2 行の読みやすさに違いがあることに注意してください。SUBPIXEL の最適な使用方法についても注意してください。テキストフィールドの内容を HTML で表します。<a> タグは、ハイパーリンクを作成し、次の属性をサポートします。target:ページをロードする先のターゲットウィンドウの名前を指定します。_self オプションは現在のウィンドウ内の現在のフレームを指定します。_top は現在のウィンドウ内のトップレベルのフレームを指定します。ユーザーがイベントスキームを含むハイパーテキストリンクをクリックすると、テキストフィールドが link TextEvent を送出します。<b> タグは、テキストをボールドとしてレンダリングします。ボールド体を利用できるフォントで使用する必要があります。<br> タグは、テキストフィールドに改行を作成します。このタグを使用するには、テキストフィールドを複数行テキストフィールドに設定します。<font> タグは、テキストを表示するフォントまたはフォントリストを指定します。フォントタグは、次の属性をサポートします。face:使用するフォントの名前を指定します。次の例が示すように、カンマで区切られたフォント名の一覧を指定することもできます。指定したフォントがローカルのコンピュータシステムにインストールされていないか、または SWF ファイルに組み込まれていない場合、Flash Player は代替フォントを選択します。size:フォントのサイズを指定します。テキストは、テキストフィールドに埋め込んだイメージの周囲に自動的に配置されます。このタグを使用するには、テキストがイメージの周囲で折り返されるように、テキストフィールドを複数行に設定する必要があります。src:イメージファイルまたは SWF ファイルへの URL、またはライブラリ内のムービークリップシンボルへのリンケージ識別子を指定します。この属性は必須です。他の属性はすべて省略可能です。width:挿入されるイメージ、SWF ファイル、またはムービークリップのピクセル単位の幅です。height:挿入されるイメージ、SWF ファイル、またはムービークリップのピクセル単位の高さです。align:テキストフィールド内の埋め込みイメージの水平整列を指定します。hspace:イメージの周りの水平方向の空白の量 (テキストが表示されない領域) を指定します。デフォルト値は 8 です。vspace:イメージの周りの垂直方向の空白の量 (テキストが表示されない領域) を指定します。デフォルト値は 8 です。id:埋め込みイメージファイル、SWF ファイル、またはムービークリップを含むムービークリップインスタンスの名前(Flash Player が作成したもの)を指定します。この方法は、ActionScript を使用して埋め込みコンテンツを制御する場合に使用されます。ポリシーファイルが存在する場合、ファイルに記載されているドメイン内の SWF ファイルは、読み込まれたイメージのデータにアクセスできます。draw() メソッドの呼び出しを、このイメージを source パラメータにして実行することよってアクセスできます。Flash はテキストフィールドに埋め込まれたメディアをフルサイズで表示します。一般に、テキストフィールドに埋め込まれたイメージは、<img> タグの次の行に表示されます。ただし、<img> タグがテキストフィールドの最初の文字であった場合、イメージはテキストフィールドの最初の行に表示されます。これはフィッシング攻撃を防ぐためです。<i> タグは、指定されたテキストをイタリックで表示します。イタリック体を利用できるフォントで使用する必要があります。<li> タグは、タグが囲んでいるテキストの最初に箇条書き記号を配置します。どのリストにも番号は付かず、すべてのリストアイテムに箇条書き記号が使用されます。<p> タグは新しい段落を作成します。このタグを使用するには、テキストフィールドを複数行テキストフィールドに設定する必要があります。<p> タグは、次の属性をサポートします。align—段落内のテキストの整列を指定します。次の属性をサポートします。indent:左マージンから段落の先頭文字までのインデントを指定します。正の数と負の数の両方を使用できます。tabstops:カスタムタブストップを負以外の整数の配列として指定します。<u> タグが指定されたテキストには下線が表示されます。text プロパティの値がトレースされると、HTML タグなしのフォーマットされていないストリングが表示されます。テキストフィールド内の文字数です。タブ (\t) などの文字も 1 文字としてカウントされます。ユーザーが入力するときに、テキストフィールドに入力できる最大の文字数です。スクリプトは maxChars の許容数を超えるテキストを挿入できます。maxChars プロパティで指定されるのは、ユーザーが入力できるテキストの量だけです。このプロパティの値が 0 である場合、ユーザーが入力できるテキストの量には制限がありません。複数行にわたるテキストフィールドで、ユーザーがテキストフィールドをクリックしてホイールを回転させると、自動的にスクロールするかどうかを示すブール値です。このプロパティは、マウスホイールでテキストフィールドをスクロールしない場合や、テキストフィールドのスクロールを独自に実装する場合に便利です。フィールドが複数行テキストフィールドであるかどうかを示します。値が true である場合は複数行テキストフィールド、値が false である場合は単一行テキストフィールドです。複数行テキストフィールド内のテキスト行の数を定義します。ユーザーがテキストフィールドに入力できる文字のセットを指定します。restrict プロパティの値が空のストリングである場合は、いずれの文字も入力できません。restrict プロパティの値が文字のストリングである場合は、そのストリング内の文字のみをテキストフィールドに入力できます。ストリングは左から右へスキャンされます。ハイフン(-)文字を使用して、範囲を指定できます。制限されるのはユーザー入力のみです。スクリプトは任意のテキストをテキストフィールドに入力できます。ストリングがキャレット (^) 文字で始まる場合、そのストリングに含まれる文字を除いて、すべての文字を入力できます。ストリングがキャレット(^)文字以外で始まる場合は、そのストリングに含まれる文字のみを入力できます。次の例では、大文字、スペース、および数値のみをテキストフィールドに入力できます。次の例では、小文字を除くすべての文字を入力できます。円記号を使用して ^ または - のリテラルを入力できます。円記号をストリングの 1 文字として実際に使用するには、ActionScript で指定するときに円記号を 2 つ続けて指定する必要があります。例えば、次のコードで表されているのはダッシュ(-)とキャレット(^)のみです。ストリング内では任意の場所で ^ を使用し、入力できる文字と除外する文字を切り替えることができます。次のコードでは、大文字のみを入力できます。ただし、大文字の Q を除きます。現在の水平スクロール位置です。scrollH プロパティが 0 である場合、テキストは水平にスクロールされません。このプロパティの値は、水平位置をピクセル単位で表す整数です。垂直スクロールの単位は行数ですが、水平スクロールの単位はピクセル数です。水平スクロールをピクセル単位で指定するのは、一般的に使用されるフォントのほとんどがプロポーショナルフォントであり、文字の幅が一定でないためです。垂直スクロールの場合は、通常、1 行のテキストの一部だけ表示されるよりも行全体が表示されることが好まれるため、行単位でスクロールします。1 行の中に複数のフォントが存在する場合でも、使用されている最大のフォントに合わせて行の高さが調整されます。テキストフィールドのテキストの垂直位置です。scrollV プロパティは、長い文節内の特定の段落にユーザーを誘導したり、スクロールテキストフィールドを作成する場合に便利です。水平スクロールの単位はピクセル数ですが、垂直スクロールの単位は行数です。表示される最初の行がテキストフィールド内の最初の行の場合、scrollV は 1 に設定されます。0 ではありません。水平スクロールをピクセル単位で指定するのは、フォントのほとんどがプロポーショナルフォントであり、文字の幅が一定でないためです。垂直スクロールの場合は、通常、1 行のテキストの一部だけ表示されるよりも行全体が表示されることが好まれるため、行単位でスクロールします。1 行の中に複数のフォントが存在する場合でも、使用されている最大のフォントに合わせて行の高さが調整されます。テキストフィールドが選択可能であるかどうかを示すブール値です。値 true は、テキストが選択可能であることを示します。selectable プロパティを使用することで、テキストフィールドが選択可能かどうかを指定できますが、編集可能かどうかは指定できません。ダイナミックテキストフィールドは、編集可能でない場合でも選択可能にすることができます。ダイナミックテキストフィールドが選択可能でない場合、ユーザーはフィールド内のテキストを選択できません。selectable を false に設定すると、テキストフィールド内のテキストはマウスやキーボードからの選択コマンドに応答しなくなり、「コピー」コマンドを使用してテキストをコピーすることができなくなります。selectable を true に設定すると、テキストフィールド内のテキストはマウスやキーボードを使用して選択できるようになり、「コピー」コマンドを使用してテキストをコピーできるようになります。テキスト入力フィールドではなくダイナミックテキストフィールドの場合でも、この方法でテキストを選択できます。次の例では、2 つのダイナミックテキストフィールドを作成します。この例を使用する場合は、これらのフィールド内のテキストをマウスまたはキーボードを使用して選択してください。現在の選択範囲の最初の文字を示す 0 から始まるインデックス値です。
たとえば、最初の文字が 0、次の文字が 1 と続きます (以下同様)
次に、テキストを選択せずにテキストフィールドをクリックします。現在の選択範囲における最後の文字を示す、0 から始まるインデックス値です。
たとえば、最初の文字が 0、次の文字が 1 と続きます (以下同様)
次に、テキストを選択せずにテキストフィールドをクリックします。このテキストフィールド内の文字エッジのシャープネスです。
このプロパティは、テキストフィールドの flash
テキストフィールドにスタイルシートを関連付けます。0 のプログラミング』を参照してください。テキストフィールドに関連付けられているスタイルシートは、いつでも変更することができます。使用されているスタイルシートを変更すると、テキストフィールドは新しいスタイルシートを使用して再描画されます。使用されているスタイルシートを削除すると、テキストフィールドはスタイルシートを使用せずに再描画されます。htmlText の内容は両方とも、以前にスタイルシートで適用したフォーマットを適用するように変更されます。htmlText の内容をフォーマットなしで保存するには、スタイルシートを削除する前に変数にその値を保存します。テキストフィールド内の現在のテキストであるストリングです。このプロパティは、HTML タグが付いていない、テキストフィールド内のフォーマットなしのテキストを示します。text プロパティの値がトレースされると、HTML タグなしのフォーマットされていないストリングが表示されます。
テキストフィールドのテキストの色です (16 進数形式)
16 進数カラーシステムでは、6 桁の数値を使用して色の値を示します。
テキストの高さです (ピクセル単位)
テキストの幅です (ピクセル単位)
このテキストフィールド内の文字エッジの太さです。テキストフィールドのタイプです。DYNAMIC はダイナミックテキストフィールドを指定します。このフィールドをユーザーが編集することはできません。INPUT はテキスト入力フィールドを指定します。このフィールドはユーザーが編集できます。両方のテキストフィールドにテキストが入力されます。テキストと共にテキストのフォーマットをコピー&ペーストするかどうかを指定します。true に設定されている場合、テキストフィールド間でコピー&ペーストを行うと、Flash Player によってフォーマット(行揃え、ボールド、イタリックなど)もコピー&ペーストされます。tf2 テキストフィールドからテキストをコピーし、tf1 テキストフィールドに貼り付けた場合、貼り付けられたテキストにはフォーマットが含まれません。テキストフィールドのテキストを折り返すかどうかを示すブール値です。幅に対して大きすぎるコンテンツが含まれる 2 つの TextField インスタンスが作成されます。
コンストラクタの詳細
メソッドの詳細
newText パラメータで指定されたストリングを、テキストフィールドのテキストの最後に付加します。大きなコンテンツが入っているテキストフィールドでは特に効率的です。特定の位置までの文字数とテキストフィールドの行数もカウントされます。outputText テキストフィールドが、autoSize プロパティにより、テキストに合わせて自動的に設定され、サイズが左揃えテキストに合わせて変更されます。text プロパティで開始する必要はありません。text プロパティをもう一度設定すると、元のテキストが上書きされます。+=演算子を使用して、text プロパティでコンテンツを追加します。テキストフィールドの length プロパティは、関数が呼び出される直前の文字数を読み取るために使用され、numLines プロパティは、テキストフィールドの行数をカウントするために使用されます。空白行が行数にカウントされ、コンテンツの長さを特定するために空白文字と改行 (\n) がカウントされます。文字の境界ボックスである矩形を返します。つまり、最初の位置は 0、2 番目の位置は 1 で、以下同様に続きます。クラスは、選択された各文字の周囲に矩形を描画するために使用する spotlight Shape オブジェクトを定義します。テキストフィールドがテキストより大きい場合があるので、返される整数(index)がチェックされ、ユーザーが文字をクリックしたかどうかが確認されます。スペースも文字と見なされます。x および y パラメータで指定されたポイントにある文字の 0 から始まるインデックス値を返します。指定されたポイントがどの文字の上にもない場合は -1 を返します。次の例では、ユーザーが文字をクリックすると、文字がテキストの上の別のテキストフィールドにエコーされます。最初のテキストフィールドは、ユーザーが選択するテキストを保持します。テキストフィールドがテキストより大きい場合があるので、返される整数(index)がチェックされ、ユーザーが文字をクリックしたかどうかが確認されます。エコーされた文字が表示される新しいテキストフィールドの座標を設定するために、マウスの座標が使用されます。2 番目のテキストフィールドの文字の色は赤に設定されます。最後に、2 番目のフィールドのテキストが、charAt() メソッドを使用して取得された、選択した文字に設定されます。文字インデックスを指定すると、同じ段落内の最初の文字のインデックスを返します。つまり、最初の文字は 0、2 番目の文字は 1 で、以下同様に続きます。int — 同じ段落内の最初の文字を示す、0 から始まるインデックス値です。次の例では、テキストフィールドのコンテンツに段落フォーマットが適用されます。ユーザーが段落をクリックすると、段落のテキストが右揃えになり、もう一度段落をクリックすると、元の (デフォルト) フォーマット (左揃え) に戻ります。コンストラクタで、myTextField テキストフィールドがテキストを折り返すように設定されます。getTextFormat メソッドが、テキストフィールドにあるコンテンツの最初の文字の元のフォーマットを返します。最初の if ステートメントは、ユーザーが文字をクリックしたかどうかを確認します。2 番目の if ステートメントは、段落の最初の文字のフォーマットをチェックします。整列値が元のフォーマット (左揃え) と同じ場合、段落のすべての文字に新しいフォーマットが適用されます。それ以外の場合は、段落のフォーマットの設定が元のフォーマットに戻ります。整列とは、インデント、中黒、タブストップ、左右マージンなどのフォーマットと共に、段落に使用するフォーマットです。<img> タグを使用して HTML フォーマットのテキストフィールドに追加されたイメージまたは SWF ファイルに関するものです。外部ソースから読み込まれたメディアの場合、このオブジェクトは Loader オブジェクトであり、いったん読み込まれると、メディアオブジェクトはその Loader オブジェクトの子になります。SWF ファイルに埋め込まれたメディアの場合、これは読み込まれたオブジェクトです。次の例では、テキストフィールドをクリックすると、フィールド内のイメージの透明度が 25% に設定され、元の回転角度から 90 度回転します。クリックが続けられるたびに、イメージは回転し続けます。ここでは、イメージファイルが SWF ファイルと同じディレクトリにあると仮定します。id 属性を img タグに対して定義する必要があります。htmlText プロパティが HTML フォーマットのストリングコンテンツを組み込むために使用されます。表示オブジェクトのマトリックス、カラー変換、ピクセル境界にアクセスするために、transform プロパティも使用できます。x および y パラメータで指定されたポイントにある行の 0 から始まるインデックス値を返します。指定されたポイントがどの行の上にもない場合は -1 を返します。次の例では、ユーザーがシェイクスピアのソネットからある行を選択すると、その行が新しいテキストフィールドにコピー (追加) されます。
コンストラクタで、poem テキストフィールドが折り返されないように設定されます (このテキストが詩であるため)
また、autoSize プロパティを使用して、テキストが収まるように自動的に設定され、左揃えテキストとしてサイズが変更されます。次に、行のインデックスを使用して、getLineText() メソッドで、ストリングとして行のコンテンツを取得します。このストリングは、poemCopy テキストフィールドのコンテンツに追加されます。コピーは連続して実行できますが、あるポイントを過ぎると、テキストが表示できる poemCopy テキストフィールドの範囲を超えます。charIndex パラメータで指定された文字を含む行の 0 から始まるインデックス値を返します。つまり、最初の文字は 0、2 番目の文字は 1 で、以下同様に続きます。myTextField テキストフィールドが、折り返しを行い、左揃えテキストとしてサイズが変更されるように定義されます。その後、この情報が段落の後に追加されます。行のインデックスは 0 から始まるので、行のインデックス(index)は 1 ずつ増加して、行番号を取得します。また、表示サイズが変更され、行番号が変更された場合でも、メソッドは一度しか呼び出されないので、ここでの情報は同じ状態が維持されます。特定のテキスト行内の文字数を返します。次の例では、ユーザーが行を選択すると、その行の長さ(文字数)が別のテキストフィールドに表示されます。この場合、ユーザーは、実際に行を変更したり、行の間または末尾に行を追加したりできます。最終行の末尾に、改行(\n)を使用して作成された空白行があります。このテキストは選択できません。if ステートメントは、ユーザーが文字をクリックしたかどうかを確認します。ユーザーが文字をクリックした場合は、getLineLength() メソッドが、行のインデックスを使用して行の文字数を返します。行間の空白行には 2 番目の改行(\n)が含まれます。この行は、1 文字としてカウントされ、最終行の後の行は 0 文字としてカウントされます。スペースも 1 文字としてカウントされます。ユーザーは、新しい行を書き込むか行を変更し、その行をクリックして、行の文字数を取得できます。テキストの折り返しを使用し、画面のサイズを変更すると、行のインデックスが変更される場合があります。指定されたテキスト行に関するメトリック情報を返します。次の例では、フォーマットの異なる 2 つのテキスト行のいくつかの行のメトリック値を表示します。1 行目はデフォルトのフォーマットを保持します。行のインデックスは 0 で始まります。取得された数値はストリングに変換されますが、四捨五入されません。この値は行に対する値であり、特定の文字に対する値ではありません。ある行の文字の範囲を反映しています。例えば、ある行に異なる高さのフォーマットを持つ異なる文字がある場合、値は最大の高さを持つ文字によって決まります。このことは、ある文字のフォーマットが変更された場合、メトリック値の一部が変更される場合があることも意味します。lineIndex パラメータで指定された行の最初の文字の文字インデックスを返します。int — 行の最初の文字を示す、0 から始まるインデックス値です。次の例では、4 行目の最初の文字をチェックします。この文字は、画面 (およびテキストフィールド) のサイズが変更された場合に変更されます。myTextField テキストフィールドがテキストを折り返すように設定されます。1 行目のインデックスは 0 です。charAt() メソッドを使用して、4 行目の最初の文字のインデックスを使用する文字を取得します。text プロパティを使用すると、クリックするたびに countField テキストフィールドのコンテンツが上書きされます。ユーザーが表示サイズを変更すると、コンテンツが折り返され、4 行目の最初の文字が変わる可能性があります。String — 指定された行に含まれるテキストストリングです。次の例では、シェイクスピアのソネットで使用される単語 "love" のすべてのインスタンスの行番号が検索され、表示されます。poem テキストフィールドが、テキストに合わせて自動的に設定され、サイズが左揃えテキストに合わせて変更されます。ただし、通常 autoSize プロパティを使用する場合、折り返しは問題にはなりません。for ループが、テキストフィールドの numLines プロパティを使用してソネットの行の繰り返し処理を実行します。正規表現パターン(/love/i)を使用すると、if ステートメントがこの単語の大文字または小文字のサブストリングを検索します。
パターンが見つかると、search メソッドが最初に一致したサブストリングのインデックスを返し、それ以外の場合は -1 を返します(一致するものがない場合)
ストリング(" ")である他の引数がある場合にのみ、ストリングメソッドによって、数値の引数((i + 1))がストリングに変換されます。文字インデックスを指定すると、指定された文字を含む段落の長さを返します。この長さは、渡された文字インデックスではなく、段落内の最初の文字に対応します。つまり、最初の文字は 0、2 番目の文字は 1 で、以下同様に続きます。次の例では、ユーザーが段落を選択すると、段落の長さと段落内の文字 "s" の数が別のテキストフィールドに表示されます。最初の if ステートメントは、ユーザーが文字をクリックしたかどうかを確認します。getParagraphLength() メソッドによって返された段落の長さが段落内の最初の文字のインデックスで使用され、段落の末尾のインデックスが算出されます。for ループが段落の繰り返し処理を実行して、文字 "s" の数を探します。指定されたテキスト全体に共通するプロパティのみが、結果の TextFormat オブジェクトに設定されます。混在型のプロパティ (テキストの位置によって異なる値が指定されている場合) は、その値が null に設定されます。これらのパラメータに値を指定しない場合、このメソッドはテキストフィールド内のすべてのテキストに適用されます。次の表に、使用できる 3 つのシンタックスを示します。テキストフィールド内すべてのテキストに関するフォーマット情報を含む TextFormat オブジェクトを返します。テキストフィールド内のすべてのテキストに共通するプロパティのみが結果の TextFormat オブジェクトに設定されます。混在型のプロパティ (テキストの位置によって異なる値が指定されている場合) は、その値が null に設定されます。指定された範囲内のすべてのテキストに共通するプロパティのみが結果の TextFormat オブジェクトに設定されます。混在型のプロパティ(範囲内の位置によって異なる値が指定されている場合)は、その値が null に設定されます。テキストフィールド内のテキスト範囲の開始位置を指定する整数です。通常の埋め込みフォントは、TextField オブジェクトでのみ使用されます。現在の選択内容を value パラメータの内容に置き換えます。テキストは、現在のデフォルトの文字フォーマットとデフォルトの段落フォーマットを使用して、現在の選択内容の位置に挿入されます。テキストは HTML として扱われません。replaceSelectedText() メソッドを使用すると、他の部分のテキストの文字フォーマットおよび段落フォーマットを損なわずにテキストを挿入および削除できます。注意:このメソッドは、テキストフィールドにスタイルシートが適用されていると機能しません。Error — このメソッドは、スタイルシートを使用するテキストフィールドに対しては使用できません。次の例では、ユーザーが最初のテキストフィールドから一部のテキストを選択し、消去して、選択したテキストを 2 番目のテキストフィールドで "NEW TEXT" ストリングに置き換えます。ユーザーがマウスを離すとマウスアップイベントが発生します。通常、このイベントはテキストを選択した後に発生します。選択するテキストの設定は、テキストフィールドのデフォルト設定です。この操作は、すべてのテキストが消去されるまで続行できます。この操作は、2 番目のテキストフィールドのすべての元のテキストが "NEW TEXT" ストリングに置き換えられるまで続行できます。注意:このメソッドは、テキストフィールドにスタイルシートが適用されていると機能しません。Error — このメソッドは、スタイルシートを使用するテキストフィールドに対しては使用できません。次の例では、replaceText() メソッドを使用して、テキストの一部を削除し、置換えて、テキストフィールドに挿入します。outputText テキストフィールドが、テキストに合わせて自動的に設定され、サイズが左揃えテキストに合わせて変更されます。appendText() の呼び出しごとに、現在のテキストの開始インデックスと終了インデックスが変更されます。ここでは、最後のテキスト(変更が行われた後)だけが表示されます。最初の文字と最後の文字のインデックス値によって指定されたテキストを選択済みに設定します。2 つのパラメータ値が同じ場合、このメソッドは、caretIndex プロパティを設定した場合と同様に挿入ポイントを設定します。つまり、最初の文字が 0、2 番目の文字が 1 で、以下同様に続きます。
次の例では、ユーザーがテキストフィールドの任意の場所をクリックすると、あらかじめ定義されたテキストの範囲が選択されます(語句 "TEXT IN ALL CAPS" がハイライト表示されます)
myTextField テキストフィールドの 2 つのイベントリスナーが、ユーザーのマウスクリックまたはマウスアップイベントに応答します。ユーザーがマウスを離すとマウスアップイベントが発生します。通常、このイベントはテキストを選択した後に発生します。選択するテキストの設定は、テキストフィールドのデフォルト設定です。format パラメータで指定したテキストフォーマットを、テキストフィールド内の指定されたテキストに適用します。注意:このメソッドは、テキストフィールドにスタイルシートが適用されていると機能しません。setTextFormat() メソッドは、テキストフィールドの文字の範囲またはテキスト全体に適用するテキストフォーマットを変更します。フォーマットのプロパティをテキストフィールド内のすべてのテキストに適用するには、beginIndex および endIndex に値を指定しないでください。length プロパティを使用して、インデックス値を指定できます。TextFormat オブジェクトのフォーマット情報には、文字レベルフォーマットと段落レベルフォーマットの 2 種類があります。テキストフィールド内の各文字にも、フォント名やフォントサイズ、ボールド、イタリックなどの文字固有のフォーマットを設定できます。段落の場合は、段落の最初の文字を調べて段落全体のフォーマット設定を判別します。段落のフォーマット設定には、左マージン、右マージン、インデントなどがあります。ユーザーによって手作業で挿入されたテキスト、または replaceSelectedText() メソッドを使用して置き換えられたテキストは、テキストの挿入か所に指定されているフォーマットではなく、新しいテキスト用のテキストフィールドのデフォルトフォーマットが適用されます。textFormat のプロパティをテキストフィールドのすべてのテキストに適用します。ユーザーによって手作業で挿入されたテキスト、または replaceSelectedText() メソッドを使用して置き換えられたテキストは、テキストの挿入か所に指定されているフォーマットではなく、新しいテキスト用のテキストフィールドのデフォルトフォーマットが適用されます。新しいテキスト用のテキストフィールドのデフォルトフォーマットを設定するには、defaultTextFormat プロパティを使用します。Error — このメソッドは、スタイルシートを使用するテキストフィールドに対しては使用できません。次の例では、テキストをクリックすると、定義済みのテキスト範囲 "TEXT IN ALL CAPS" のフォーマットがデフォルトのテキストフォーマットと新しいフォーマットの間で切り替わります。if ステートメントが currentTextFormat テキストフォーマットをチェックして、範囲内の文字に新しいフォーマット (フォントポイントが 18 に設定されます) が適用されているかどうかを確認します。適用されていない場合、新しいフォーマットによって、サイズが 18 ポイント、色が赤に変更されます。範囲内の文字に新しいフォーマットが適用されている場合、範囲のフォーマットの設定がテキストフィールドのデフォルト (元の) フォーマットに戻ります。
イベントの詳細
値が変更される前に送出される textInput イベントとは異なり、コントロールの値が変更された後に送出されます。0 バージョンはコントロールが変更されたときに送出されます。例えば、ユーザーがテキストフィールドにテキストを入力すると、キーストロークのたびに change イベントが送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。値が変更されたオブジェクトです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。次の例では、ユーザーが入力したテキスト(ユーザー入力)が、異なるテキストフォーマットで、他のテキストフィールドに即座にコピー(エコー)されます。CHANGE イベントで呼び出されたのではない場合、ユーザーが入力したコンテンツは、ユーザーが別の入力を行った後でのみコピーされます。
HTML が有効になっているテキストフィールドのハイパーリンクをユーザーがクリックしたときに送出されます(URL は "event:" で始まります)
注意:デフォルトの動作であるテキストフィールドへのテキストの追加は、Flash Player がイベントを生成するときにのみ発生します。この場合は、ユーザーがテキストを入力しようとするときです。textInput イベントに送信することによってテキストフィールドにテキストを入力することはできません。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。クリックされたハイパーリンクを含むテキストフィールドです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。playMP3() 関数は、ユーザーがどちらかのリンクをクリックしたときに呼び出されます。ユーザーがスクロールした後に、TextField オブジェクトによって送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。target プロパティは、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。標準キーボード、IME(入力メソッドエディタ)、音声認識システム、書式やスタイルの情報を持たないプレーンテキストのペースト操作など、様々なテキスト入力メソッドによって、このイベントが生成されます。このイベントには、次のプロパティがあります。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。文字が入力されるテキストフィールドです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。ユーザーが入力した文字または文字の連続です。テキストブロックを入力フィールドに貼り付けると、イベントハンドラによってブロック全体がもう一方のフィールドにコピーされます。
例 例の使用法
これを行うには、以下の手順を使用します。テキストフィールドを左揃えにします。背景の塗りを有効にします。境界線を有効にします。次に、パラメータを次のように設定します。表示リストには、初期状態でステージ上にテキストがないテキストフィールドが表示されます。" に設定します。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
TextLineMetrics クラスには、テキストフィールド内のテキストの位置および テキストの行 のプロパティに関する情報が含まれています。すべてのプロパティ値はピクセル単位です。
テキストの行を含むテキストフィールドに関する測定 (例えば、次の図の「テキストフィールドの高さ」の測定など) については、flash
次の図に、テキストフィールドおよびフィールドに含まれるテキストの行のポイントと測定を示します。継承されるパブリックプロパティを隠す。
継承されるパブリックプロパティを表示
テキストの ascent 値は、行のベースラインから最上部までの距離です (ピクセル単位)
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
テキストの descent 値は、行のベースラインから最下部までの距離です (ピクセル単位)
選択されている行のテキスト (テキスト全体とは限りません) の高さの値です (ピクセル単位)
leading 値は、テキストの行間の垂直距離を測定した結果です。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
width の値は、選択されている行のテキスト (テキスト全体とは限りません) の幅です (ピクセル単位)
x 値は、最初の文字の左の位置です (ピクセル単位)
継承されるパブリックメソッドを隠す。
継承されるパブリックメソッドを表示
オブジェクトに指定されたプロパティが定義されているかどうかを示します。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。指定されたプロパティが存在し、列挙できるかどうかを示します。ループ処理に対するダイナミックプロパティの可用性を設定します。指定されたオブジェクトのストリング表現を返します。指定されたオブジェクトのプリミティブな値を返します。
プロパティの詳細
テキストの ascent 値は、行のベースラインから最上部までの距離です (ピクセル単位)
このクラスの概要図の「アセント」の測定を参照してください。
テキストの descent 値は、行のベースラインから最下部までの距離です (ピクセル単位)
このクラスの概要図の「ディセント」の測定を参照してください。選択されている行のテキストの高さの値 (ピクセル単位) です。必ずしもテキスト全体ではありません。テキスト行の高さには、ふち取りの高さは含まれません。このクラスの概要図の「行の高さ」の測定を参照してください。leading 値は、テキストの行間の垂直距離のプロパティです。このクラスの概要図の「レディング」の測定を参照してください。
width の値は、選択されている行のテキストの幅です (ピクセル単位)
必ずしもテキスト全体ではありません。テキスト行の幅は、テキストフィールドの幅と同じではありません。テキスト行の幅はテキストフィールドの幅と相対的であり、ふち取りの幅 4 ピクセル (両側に 2 ピクセルずつ) を引いた値です。このクラスの概要図の「テキスト行の幅」の測定を参照してください。
x 値は、最初の文字の左の位置です (ピクセル単位)
この値には、マージン、インデント (ある場合)、ふち取りの幅が含まれます。このクラスの概要図の「テキスト行の x 位置」を参照してください。
コンストラクタの詳細
TextLineMetrics オブジェクトには、テキストフィールド内のテキストの行のテキストメトリックに関する情報が含まれます。各プロパティについては、このクラスの概要にある図を参照してください。
例 例の使用法
ここでは以下の手順を実行します。ステージの整列を、左上および拡大 / 縮小なしに設定します。label の背景を有効にし、その色を白に設定します。自動折り返しによって、label のテキストを複数行にできるようにします。ここに、長いテキストが格納されます。ステージで実行される resize イベントを受け取るメソッドが追加されます。これで label がステージの中央に 10 ピクセルのバッファに囲まれて表示されるようになります。この遅延が発生するのは、RESIZE イベントが完了し、ステージが完全に再描画されるまで行メトリックが更新されないためです。コンストラクタは強制的に resize イベントを単独で送出し、SWF ファイルが最初にロードされるときに label が適切に描画されるようにします。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
TextRenderer クラスには、埋め込みフォントの高度なアンチエイリアス機能が用意されています。高度なアンチエイリアスに設定すると、小さいフォントを非常に高品質でレンダリングできます。高度なアンチエイリアスは、小さいフォントのテキストが多いアプリケーションで使用します。非常に大きいフォント (48 ポイント以上) に対して高度なアンチエイリアスを使用することはお勧めしません。継承されるパブリックプロパティを隠す。
継承されるパブリックプロパティを表示
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。[静的] 高度なアンチエイリアスの適用されたテキストの表示を制御します。[静的] 高度なアンチエイリアス用の ADF 品質レベルです。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。継承されるパブリックメソッドを隠す。
継承されるパブリックメソッドを表示
オブジェクトに指定されたプロパティが定義されているかどうかを示します。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。指定されたプロパティが存在し、列挙できるかどうかを示します。[静的] フォントのカスタム CSM ルックアップテーブルを設定します。ループ処理に対するダイナミックプロパティの可用性を設定します。指定されたオブジェクトのストリング表現を返します。指定されたオブジェクトのプリミティブな値を返します。
プロパティの詳細
高度なアンチエイリアスの適用されたテキストの表示を制御します。テキストの表示品質は主観的です。Flash Player がさまざまな条件に最適な設定を使用しようとしても、デザイナーは別の外観や感触をテキストに対して選択する場合があります。高度なアンチエイリアス用の ADF 品質レベルです。高度なアンチエイリアスは、ADF を使用して、字形を決定するアウトラインを表します。品質が高くなるほど、ADF 構造用により多くのキャッシュ領域が必要となります。値 3 を指定すると、必要なメモリ量は最小で、品質は最低となります。フォントが大きければ、より多くのキャッシュ領域が必要となります。
メソッドの詳細
フォントのカスタム CSM ルックアップテーブルを設定します。FontStyle クラスのいずれかの値を使用して示されるフォントスタイルです。各オブジェクトには、次のプロパティがあります。これら 2 つのカットオフ値間でマッピング関数を実行すると、外部カットオフの 0 から内部カットオフの最大密度までの直線になります。外部カットオフ値と内部カットオフ値を調整すると、線の太さとエッジのシャープネスに影響します。これら 2 つのパラメータ間の間隔は、標準のアンチエイリアスメソッドのフィルタ半径の 2 倍に相当します。間隔が狭ければ、エッジがシャープになり、間隔が広ければ、エッジがぼやけて、フィルタの適用度が高い状態になります。間隔が 0 の場合、結果の密度イメージは 2 層のビットマップとなります。間隔が非常に広ければ、結果の密度イメージのエッジは水彩画のようになります。通常、ユーザーは、小さなポイントサイズではシャープでコントラストのはっきりしたエッジを、アニメーションテキストや大きなポイントサイズではぼやけたエッジを好みます。通常、外部カットオフは負の値、内部カットオフは正の値で、中間点は 0 の近辺になります。これらのパラメータを調整して、中間点を負の無限大に向かってシフトすると、線の太さが増します。中間点を正の無限大に向かってシフトすると、線の太さは減ります。外部カットオフ値が常に内部カットオフ値以下になるようにする必要があります。
例 例の使用法
この例をテストには、前もってフォントを埋め込んでおく必要があります。Flex を使用する場合には、次の方法でフォントを埋め込みます。クラス定義のすぐ下に次の各行を追加します。Flash を使用する場合には、次の方法でフォントを埋め込みます。ステージ上にテキストフィールドを配置してそれを選択します。プロパティトインスペクタでそのテキストのフィールドのフォントを Georgia に設定します。次に、プロパティインスペクタで「埋め込み」を押して「すべて」を選択します。「ローカルでの再生に関するセキュリティ」を「ローカルファイルにのみアクセスする」に設定して SWF ファイルをコンパイルする必要があります。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
ContextMenuItem クラスのプロパティを使用して、特定のメニューアイテムを有効または無効にして、アイテムを表示または非表示にすることができます。menuItemSelect イベントのイベントハンドラを記述して、ユーザーがメニューアイテムを選択したときにメニューアイテムに機能を追加します。カスタムメニューアイテムは、コンテキストメニューの一番上、つまり、どのビルトインアイテムよりも上に表示されます。カスタムメニューアイテムとビルトインアイテムとの間には常にセパレータが表示されます。
(AIR では、ビルトインアイテムはありません)
継承されるパブリックプロパティを隠す。
継承されるパブリックプロパティを表示
コンテキストメニューに表示するメニューアイテムのキャプション(テキスト)を指定します。このメニューにチェックマークを表示するかどうかを制御します。指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。このメニューアイテムに関連付けられた任意のデータオブジェクトです。このメニューを有効にするかどうかを制御します。[読み取り専用] このアイテムがメニューセパレータ線かどうかを報告します。このメニューアイテムのキーボードショートカットです。キーボードショートカットのモディファイアに対応するキーコードの配列です。このメニューアイテムの表示ストリングです。[読み取り専用] このアイテムを含むメニューです。メニューアイテムでのニーモニック文字の位置です。このメニューアイテムの名前です。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。指定されたメニューアイテムの上にセパレータを表示するかどうかを示します。このメニューアイテムに関連付けられたサブメニューです。Flash Player のコンテキストメニューを表示するときに、指定されたメニューアイテムを表示するかどうかを示します。継承されるパブリックメソッドを隠す。
継承されるパブリックメソッドを表示
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。イベントをイベントフローに送出します。EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。オブジェクトに指定されたプロパティが定義されているかどうかを示します。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。指定されたプロパティが存在し、列挙できるかどうかを示します。ループ処理に対するダイナミックプロパティの可用性を設定します。指定されたオブジェクトのプリミティブな値を返します。指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。継承されるイベントを隠す。
継承されるイベントを表示
[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。ユーザーがコンテキストメニューからアイテムを選択したときに送出されます。ユーザーがメニューアイテムを選択したときに送出されます。
プロパティの詳細
コンテキストメニューに表示するメニューアイテムのキャプション (テキスト) を指定します。指定されたメニューアイテムの上にセパレータを表示するかどうかを示します。メモ : カスタムメニューアイテムとビルトインメニューアイテムの間には常にセパレータが表示されます。Flash Player のコンテキストメニューを表示するときに、指定されたメニューアイテムを表示するかどうかを示します。
コンストラクタの詳細
このパラメータはオプションです。
メソッドの詳細
イベントの詳細
ユーザーがコンテキストメニューからアイテムを選択したときに送出されます。ユーザーは、ポインティングデバイスの第 2 ボタンをクリックすることにより、コンテキストメニューを生成します。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。メニューが関連付けられている表示リストオブジェクトです。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。ユーザーがコンテキストメニューを表示するために右クリックした表示リストオブジェクトです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。
例 例の使用法
これを行うには、以下の手順を実行します。このメソッドによって、すべてのビルトインコンテキストメニューアイテムが削除されます。ただし、「プリント」を除きます。Hello World コンテキストメニューアイテムは、ステージのコンテキストメニューアイテム一覧に追加されます。テキスト「ここを右クリック」が指定されている TextField オブジェクトがステージに追加されます。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
Timer クラスはタイマーへのインターフェイスです。タイマーを使用すると、指定した時間系列に従ってコードを実行できます。タイマーを開始するには start() メソッドを使用します。timer イベントのイベントリスナーをセットアップコードに追加すると、そのタイマー間隔で実行されます。Timer オブジェクトを作成して、1 回実行または指定した間隔で繰り返して定時にコードを実行できます。たとえば、SWF ファイルを 10 fps(1 秒あたりのフレーム数)、つまり 100 ミリ秒間隔で再生するように設定し、80 ミリ秒でイベントが発生するようにタイマーを設定すると、100 ミリ秒に近い間隔でイベントが送出されます。また、メモリに負荷のかかるスクリプトでも、イベントの送出がずれる場合があります。継承されるパブリックプロパティを隠す。
継承されるパブリックプロパティを表示
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。[読み取り専用] ゼロで開始してから現在までに起動されたタイマーの合計回数です。ミリ秒単位で指定したタイマーイベント間の遅延です。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。タイマーを実行する合計回数を設定します。[読み取り専用] タイマーの現在の状態です。継承されるパブリックメソッドを隠す。
継承されるパブリックメソッドを表示
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。イベントをイベントフローに送出します。EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。オブジェクトに指定されたプロパティが定義されているかどうかを示します。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。指定されたプロパティが存在し、列挙できるかどうかを示します。タイマーが実行されている場合はタイマーを停止して、ストップウォッチのリセットボタンのように currentCount プロパティを 0 に戻します。ループ処理に対するダイナミックプロパティの可用性を設定します。タイマーがまだ実行されていない場合は、タイマーを起動します。タイマーを停止します。指定されたオブジェクトのストリング表現を返します。指定されたオブジェクトのプリミティブな値を返します。指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。継承されるイベントを隠す。
継承されるイベントを表示
[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。delay プロパティに従って指定された時間間隔に達するたびに送出されます。
プロパティの詳細
ゼロで開始してから現在までに起動されたタイマーの合計回数です。タイマーをリセットした場合は、リセット以降の回数のみがカウントされます。ミリ秒単位で指定したタイマーイベント間の遅延です。タイマーの実行中に遅延間隔を設定すると、同じ repeatCount の繰り返し回数でタイマーが再起動されます。Error — 指定した遅延がマイナスの場合、または有限数でない場合は、例外が発生します。タイマーを実行する合計回数を設定します。繰り返し回数を 0 に設定すると、stop() メソッドが呼び出されるまで、またはプログラムによって停止されるまで、タイマーは無限に継続されます。繰り返し回数をゼロ以外に指定すると、タイマーは指定した回数実行されます。タイマーの現在の状態です。
コンストラクタの詳細
タイマーが自動的に起動しない場合は、start() メソッドを呼び出して起動させる必要があります。ゼロを指定すると、タイマーは無限に繰り返されます。ゼロ以外に指定すると、タイマーは指定した回数実行された後に停止します。
Error — 指定した遅延がマイナスの場合、または有限数でない場合
次の例では、ユーザーが入力テキストフィールドに応答を書き込む時間が 90 秒間あります。さらに 30 秒ごとに、ユーザーに対してステータスメッセージが表示され、残り時間が通知されます。(タイマーは 3 回で停止します。TIMER イベントによってトリガされます。これは、ユーザーがテキストを入力または変更できなくなることを意味します。
メソッドの詳細
タイマーが実行されている場合はタイマーを停止して、ストップウォッチのリセットボタンのように、currentCount プロパティを 0 に戻します。タイマーがまだ実行されていない場合は、タイマーを起動します。タイマーを停止します。
イベントの詳細
delay プロパティに従って指定された時間間隔に達するたびに送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。時間間隔が経過した Timer オブジェクトです。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
例 例の使用法
タイマーは、start() が呼び出されたときに起動し、その後にタイマーイベントが送出されます。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
int クラスを使用すると、32 ビットの符号付き整数を表すデータ型を操作できます。ただし、メソッドは静的でないため、メソッドを使用するためのオブジェクトは不要です。int オブジェクトは、int クラスコンストラクタを使用するか、int 型の変数を宣言してその変数にリテラル値を割り当てることによって作成することができます。int データ型は、ループカウンタを使用する場合や、浮動小数を使う必要のないその他の場合に役に立ちます。このメソッドは、ストリング 1234 を返します。次の例では、コンストラクタを使用せずに、MIN_VALUE プロパティの値を宣言された変数に割り当てます。継承されるパブリックプロパティを隠す。
継承されるパブリックプロパティを表示
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。継承されるパブリックメソッドを隠す。
継承されるパブリックメソッドを表示
新しい int オブジェクトを作成します。オブジェクトに指定されたプロパティが定義されているかどうかを示します。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。指定されたプロパティが存在し、列挙できるかどうかを示します。ループ処理に対するダイナミックプロパティの可用性を設定します。数値のストリング表現を指数表現で返します。数値のストリング表現を固定小数点表現で返します。数値のストリング表現を指数表現または固定小数点表現で返します。int オブジェクトのストリング表現を返します。指定された int オブジェクトのプリミティブな値を返します。
コンストラクタの詳細
新しい int オブジェクトを作成します。int オブジェクトのプロパティを使用する場合は、コンストラクタを使用しません。new int コンストラクタは、主にプレースホルダとして使用します。int オブジェクトは、パラメータをプリミティブ値に変換する int() 関数とは異なります。value が指定されなかった場合のデフォルト値は 0 です。次のコードは、新しい int オブジェクトを作成します。
メソッドの詳細
数値のストリング表現を指数表現で返します。数値のストリング表現を固定小数点表現で返します。固定小数点表現とは、fractionDigits パラメータの指定に従って、小数点以下の特定の桁数をストリングに含めたものです。この範囲外の値を指定すると例外がスローされます。次の例は、toFixed(3) を使用して、小数点以下 3 桁に四捨五入したストリングを返す方法を示しています。次の例は、toFixed(2) を使用して、末尾にゼロを追加したストリングを返す方法を示しています。数値のストリング表現を指数表現または固定小数点表現で返します。ストリングには、precision パラメータで指定された桁数が含まれます。指数表現は必要ないので、ストリングは固定小数点表現で表されます。結果の数値には固定小数点表現に必要な桁が含まれないため、ストリングは指数表現で表されます。int オブジェクトのストリング表現を返します。次の例では、radix パラメータに 2 および 8 を使用し、数値 9 に対応する表現を含むストリングを返します。次の例では、結果が 16 進数値になります。指定された int オブジェクトのプリミティブな値を返します。次の例では、numSocks オブジェクトのプリミティブな値が結果として返されます。このコードは、次の値をします。
例 例の使用法
次の例は、IntExample クラスを使用して、int データ型をどのように処理し、有効性をチェックするかを示しています。有効な場合はストリングの整数値に相当する int を返します。このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。
コメントの追加
ローカルデータベースでの SQL サポート
このデータベースエンジンは、オープンソースの SQLite データベースシステムを使用して、多くの標準 SQL 機能を持つローカル SQL データベースをサポートします。ランタイムでは、データベースのデータをファイルシステムのどこに、どのように格納するのかは指定しません。各データベースは、完全に単一ファイル内に格納されます。開発者はファイルシステム内にデータベースファイルを格納する場所を指定できます。また、1 つの AIR アプリケーションで 1 つまたは複数の異なるデータベース(別々のデータベースファイル)にアクセスできます。このドキュメントは、包括的な SQL リファレンスとしての利用を想定したものではなく、Adobe AIR でサポートする SQL ダイアレクトの詳細を説明したものです。SQL 学習用には様々な参考文献、Web サイト、書籍、およびトレーニング資料が存在するので、このドキュメントでは、包括的な SQL のリファレンスまたはチュートリアルの体裁はとらず、Apollo AIR でサポートしている SQL 構文について、また、このダイアレクトと SQL-92 との違いについての説明を主眼としています。ここで取り上げるトピックは次のとおりです。
データ型のサポート
このドキュメントで使用する表記規則
この節では、Adobe AIR SQL データベースエンジンでサポートされている SQL 構文について、文と句の種類、式、ビルトイン関数、および演算子に分けて説明します。ここで取り上げるトピックは次のとおりです。
特殊な文と句
ビルトイン関数(集計関数、スカラ関数、および日付/時刻書式設定関数)
サポートされていない SQL 機能
各種の文と式に関する具体的な構文に加えて、SQL 構文には一般に次のような規則があります。大文字と小文字の区別:SQL 文(オブジェクト名を含む)では、大文字と小文字は区別されません。ただし、SQL 文では SQL キーワードが大文字で表記されることが多いので、このドキュメントでもこの表記規則を使用します。SQL シンタックスでは大文字と小文字が区別されませんが、SQL のリテラルテキスト値は大文字と小文字が区別され、比較およびソート操作では、列または操作に対して定義されている照合シーケンスの指定に従って大文字と小文字を区別できます。空白:SQL 文では、個々の単語を区切るために空白文字(スペース、タブ、改行など)を使用する必要があります。ただし、単語と記号の間の空白はオプションです。SQL ステートメントに含まれる空白文字の種類と個数は意味を持ちません。インデントや改行などの空白文字を使用して SQL 文を読みやすいように整形できます。書式を整形しても、SQL 文の意味は変わりません。データ操作文は最もよく使用する SQL 文です。データ操作文は、データベーステーブルのデータの取得、追加、変更、および削除に使用します。次のデータ操作文がサポートされています。SELECT 文は、データベースに問い合わせるときに使用します。SELECT 文の結果は、それぞれ固定数の列を持つ 0 行以上のデータ行です。結果の式が * の場合は、その 1 つの式がすべてのテーブルのすべての列に置き換えられます。
テーブル名の後に
* を続けて指定すると、その 1 つのテーブルのすべての列が返されます。DISTINCT キーワードを指定すると、結果行の重複しないサブセットが返されます。NULL 値はすべて同じものとして扱われます。デフォルトでは、すべての結果行が返されます。これを明示的に指定するには、キーワード ALL を使用します。クエリは FROM キーワードの後に指定した 1 つ以上のテーブルに対して実行されます。複数のテーブル名をカンマで区切ると、各テーブルがクロス結合されます。JOIN 構文を使用して、テーブルの結合方法を指定することもできます。FROM 句のテーブルとして、括弧で囲んだサブクエリを使用できます。FROM 句全体を省略することもできます。この場合は、result 式リストの値で構成された 1 つの行が返されます。WHERE 句は、クエリで取得する行数を限定する場合に使用します。WHERE 句の式はブール値に解決される必要があります。WHERE 句によるフィルタリングはグループ化の前に行われるので、WHERE 句の式に集計関数を含めることはできません。GROUP BY 句は、結果に集約関数が含まれている場合に特に役立ちます。したがって、HAVING 式は、集約関数を含む値を参照できます。各ソートキーの後にはオプションで sort-order 句を付けることができます。この句には、COLLATE キーワードとテキストの並べ替えに使用する照合関数の名前、およびソート順序を指定するキーワード ASC(昇順)または DESC(降順)を指定できます。LIMIT 句は、結果で返される行数の上限を設定します。LIMIT の後にオプションの OFFSET を付けると、結果セットの先頭から指定した行数がスキップされます。OFFSET キーワードの代わりにカンマを使用すると、最初の数がオフセットになり、2 番目の数が上限になります。この見かけの違いは意図的なもので、古い SQL データベースシステムとの互換性を最大限確保することを目的としています。3 つ以上の SELECT 文を接続すると、最初から順に結果が結合されます。使用できる式の定義については、「式」を参照してください。VALUES キーワードを使用する最初の形式では、既存のテーブルに新しい行が 1 行作成されます。column-list を指定しない場合は、テーブルの列と同じ数の値を指定する必要があります。column-list を指定する場合は、指定した列と同じ数の値を指定する必要があります。列リストに含まれないテーブルの列には、テーブルの作成時に定義されたデフォルト値が格納されます。デフォルト値が定義されていない場合は NULL が格納されます。SELECT 文の結果行ごとに、テーブル内に新しいエントリが 1 つ作成されます。形式を使用する)のと同じです。UPDATE 文は、テーブルの特定の行セットに含まれる列の値を変更するときに使用します。式では他の列の値を使用できます。式はすべて、割り当てが行われる前に評価されます。指定可能な式の定義については、「式」を参照してください。WHERE 句を使用すると、更新する行を限定できます。WHERE 句の式はブール値に解決される必要があります。DELETE 文は、テーブルからレコードを削除するときに使用します。このコマンドでは、DELETE FROM キーワードの後に、レコードを削除する対象のテーブルの名前を指定します。WHERE 句を省略すると、テーブルのすべての行が削除されます。WHERE 句を指定すると、式に一致する行のみが削除されます。WHERE 句の式はブール値に解決される必要があります。指定可能な式の定義については、「式」を参照してください。データ定義文は、テーブル、ビュー、インデックス、トリガなどのデータベースオブジェクトを作成、変更、および削除するときに使用します。次のデータ定義文がサポートされています。テーブル名には、識別子またはストリングを使用できます。各列定義は、列名とその列のデータ型、およびオプションで 1 つ以上の列制約を並べたものです。列のデータ型は、その列に格納できるデータを制限します。異なるデータ型の列に値を格納しようとすると、可能な場合にはランタイムによって値が適切な型に変換され、可能でない場合にはエラーが発生します。詳しくは、「データ型のサポート」を参照してください。UNIQUE 制約を指定すると、指定された 1 つまたは複数の列にインデックスが作成されます。このインデックスには、一意キーが含まれている必要があります。つまり、任意の行と任意の別の行の間で、指定された列の値、または指定された複数列の値の組み合わせが必ず異なっていなくてはなりません。列定義内の複数の列に UNIQUE 制約を指定できるほか、複数テーブルレベルで UNIQUE 制約を設定することもできます。CHECK 制約では、行のデータを挿入または更新する際の条件となる式を定義します。この式が true に評価された場合のみ、行のデータが挿入または更新されます。CHECK 制約の式の結果はブール値として解決される必要があります。列定義内の COLLATE 句は、列のテキストエントリを比較するときに使用するテキスト照合関数を指定します。値は、NULL、ストリング定数、または数値にすることができます。値が NULL、ストリング定数、または数値の場合は、INSERT ステートメントで列の値が指定されていない場合に、これらがそのまま列に挿入されます。これは、その列に一意の整数値しか格納できないことを意味します。これは、ある列の定義の一部または単一のテーブルレベル PRIMARY KEY 制約にすることができます。いくつかの制約の後にオプションの conflict-clause を続けると、その制約に対するデフォルトの制約競合解決アルゴリズムを指定できます。同じテーブル内の異なる制約に対して、異なるデフォルト競合解決アルゴリズムを指定することも可能です。FOREIGN KEY 制約などの追加の制約を指定してもエラーにはなりませんが、実行時に無視されます。データベース接続が終了すると、自動的に削除されます。一時テーブルでは、作成されたインデックスも一時的です。一時テーブルと一時インデックスは、メインのデータベースファイルとは別のファイルに格納されます。列数またはテーブル内の制約数に恣意的な制限はありません。1 行のデータ量にも恣意的な制限はありません。結果に含まれる列の名前がテーブル列の名前になります。ALTER TABLE コマンドを使用すると、テーブルの名前を変更したり、既存のテーブルに新しい列を追加したりできます。テーブルから列を削除することはできません。このコマンドはあくまでも同じデータベース内でテーブル名を変更するためのもので、アタッチされたデータベース間でテーブルを移動することはできません。名前変更されるテーブルにトリガまたはインデックスがある場合、それらはテーブル名が変更された後もテーブルにアタッチされたままになります。ただし、名前変更されるテーブルを参照するトリガによって実行されたビュー定義またはステートメントがある場合は、新しいテーブル名を使用するように自動的に変更されることはありません。名前変更されたテーブルにビューまたはトリガが関連付けられている場合は、新しいテーブル名を使用してトリガまたはビュー定義を手動で削除し、再作成する必要があります。新しい列は常に、既存の列リストの最後に追加されます。指定したテーブルは、データベースおよびディスクファイルから完全に削除されます。テーブルを復元することはできません。テーブルに関連付けられたインデックスもすべて削除されます。デフォルトでは、DROP TABLE 文を実行してもデータベースファイルのサイズは小さくなりません。データベース内に空の領域が保持され、後続の INSERT 操作でその領域が使用されます。データベースが最初に作成されたときに autoClean パラメータが true に設定された場合は、領域が自動的に解放されます。オプションの IF EXISTS 句を指定すると、テーブルが存在しない場合に通常発生するエラーが抑制されます。CREATE INDEX コマンドでは、キーワード CREATE INDEX の後に新しいインデックスの名前、キーワード ON、およびインデックスを作成する既に作成済みのテーブルの名前を指定し、その後にインデックスキーに使用するテーブル内の列名のリストを括弧で囲んで記述します。各列名の後にはソート順序を指定する ASC または DESC キーワードを続けることができますが、ソート順序の指定はランタイムでは無視されます。ソートは常に昇順で行われます。各列の後の COLLATE 句は、その列のテキスト値で使用する照合順序を定義します。照合順序が指定されていない場合は、BINARY 照合順序が使用されます。1 つのテーブルにアタッチできるインデックス数に恣意的な制限はありません。インデックス内の列数にも制限はありません。指定したインデックスは、データベースファイルから完全に削除されます。インデックスを復元する唯一の方法は、適切な CREATE INDEX コマンドを再度発行することです。デフォルトでは、DROP INDEX 文を実行してもデータベースファイルのサイズは小さくなりません。データベース内に空の領域が保持され、後続の INSERT 操作でその領域が使用されます。データベースが最初に作成されたときに autoClean パラメータが true に設定された場合は、領域が自動的に解放されます。この新しく割り当てた名前は、別の SELECT 文の FROM 句でテーブル名の代わりに使用できます。通常、ビューは、複雑な(および最近使用された)データのセットを他の操作で使用できる構造に結合することで、クエリーを単純化するために使用されます。ビューは読み取り専用です。ビューはデータベースから削除されますが、基になるテーブルのデータは変更されません。その場合、トリガは、SQLConnection インスタンスのメインデータベース接続が終了すると削除されます。WHEN 句を指定しなければ、すべての行に対して SQL 文が実行されます。OLD テーブルと NEW テーブルの構造は、トリガを作成するテーブルの構造と一致します。OLD テーブルには、トリガを発生させた文によって変更または削除された行の、操作が行われる前の状態が含まれます。NEW テーブルには、トリガを発生させた文によって変更または作成された行の、操作が行われた後の状態が含まれます。テーブルのトリガに加えて、INSTEAD OF トリガをビューに対して作成できます。トリガは INSTEAD OF トリガなので、ビューの基礎となるテーブルは、トリガが起動する原因となったステートメントによって変更されません。ただし、トリガは、基礎となるテーブルに対して変更操作を実行するために使用できます。テーブルまたはビューが削除されると、そのテーブルまたはビューに関連付けられたトリガもすべて自動的に削除されます。この関数の構文は次のとおりです。ERROR)イベントがディスパッチされます。RAISE(IGNORE) を呼び出すと、現在のトリガの残りの部分、トリガを発生させた文、および通常であれば引き続き実行されるはずの別のトリガがすべて中止されます。データベースの変更はロールバックされません。トリガを発生させた文自体がトリガの一部である場合、そのトリガプログラムは次のステップの最初から再開されます。トリガはデータベースから削除されます。関連付けられたテーブルが削除されたときにも、トリガは自動的に削除されます。
特殊な文と句
この節では、SQL の拡張機能としてランタイムによって提供されるいくつかの句と、多くの文で使用できる 2 つの言語要素(コメントと式)について説明します。この節で説明する要素は次のとおりです。TEXT 格納クラスの値で BINARY 照合を使用すると、テキストがどのようにしてエンコードされているかにかかわらず、値を表すメモリ内のバイトを比較することによってバイナリ照合が行われます。NOCASE 照合を使用すると、大文字と小文字を区別せずに比較されます。2 つの TEXT 値を比較するときは常に、照合順序を使用し、次の規則に従って比較結果が決定されます。二項比較演算子(=、<、>、<=、および >=)では、一方のオペランドが列である場合、その列のデフォルトの照合タイプによって、比較で使用される照合順序が決まります。両方のオペランドが列である場合は、左のオペランドの照合タイプによって、使用される照合順序が決まります。どちらのオペランドも列でない場合は、BINARY 照合順序が使用されます。AND 演算子も上記の規則に従って照合順序が決定されます。IN 演算子は、使用する照合順序を決定するという点では、= 演算子と同じように動作します。その場合は、明示的に指定した照合順序が常に使用されます。それ以外の場合は、ORDER BY 句によってソートされる式が列の場合には、その列のデフォルトの照合タイプを使用してソート順序が決定されます。式が列でない場合は、BINARY 照合順序が使用されます。SQL ステートメントの前に EXPLAIN キーワードを付けると、コマンドを実際に実行する代わりに、EXPLAIN キーワードを指定せずにコマンドを実行した場合に使用される一連の仮想マシン命令が報告されます。この高度な EXPLAIN 機能を使用すると、SQL ステートメントのテキストを調整してパフォーマンスを最適化したり、適切に機能しない SQL ステートメントをデバッグしたりできます。これは他の多くの SQL コマンドで使用できる非標準の句です。キーワードは異なりますが、句の意味はどちらの形式でも同じです。これら 5 種類の競合アルゴリズムについて以下に説明します。トランザクションがアクティブでない場合(すべてのコマンドについて作成される暗黙的なトランザクションを除く)、このアルゴリズムは ABORT と同じです。ROLLBACK は実行されないので、トランザクション内の前のコマンドで行われた変更はそのまま残ります。ただし、制約違反が発生する前にそのステートメントによってデータベースに加えられた変更は取り消されずにそのまま残ります。例えば、UPDATE 文の実行時に更新対象の 100 行目で制約違反が発生した場合、それまでの 99 行の変更はそのまま残りますが、100 行目以降の変更は行われません。IGNORE - 制約違反が発生したとき、制約違反を含む 1 行は挿入も変更もされません。行が無視されるという点を除き、コマンドは通常どおり続行されます。制約違反が発生した行の前後の行は通常どおり挿入または更新されます。エラーは返されません。REPLACE - UNIQUE 制約違反が発生すると、制約違反の原因となる既存の行が削除された後で、現在の行が挿入または更新されます。したがって、挿入または更新は常に実行され、コマンドは通常どおり続行されます。エラーは返されません。列にデフォルト値がない場合は、ABORT アルゴリズムが使用されます。この競合解決方法により、制約を満たすために行が削除されたときは、それらの行に対する削除トリガは呼び出されません。REINDEX コマンドは、1 つ以上のインデックスを削除して再作成するときに使用します。このコマンドは、照合シーケンスの定義が変更されたときに便利です。最初の形式では、アタッチされたデータベース内の指定された照合順序を使用するすべてのインデックスが再作成されます。2 番目の形式では、table-name を指定した場合、そのテーブルに関連付けられたすべてのインデックスが再構築されます。index-name を指定した場合は、指定したインデックスのみが削除され、再作成されます。コメントは SQL コマンドではありませんが、SQL クエリの中に記述できます。コメントはランタイムでは空白として扱われます。コメントは、空白が許可される任意の場所(複数行にわたる式の内部など)に記述できます。単一行のコメントには 2 つのダッシュを使用します。単一行コメントでは、その行の末尾までがコメントになります。ブロックコメントは、任意の行数にわたることも、単一行に埋め込むこともできます。コメントの終わりを示す区切り記号がない場合は、入力の最後までがコメントになります。これはエラーとして扱われません。新しい SQL 文は、ブロックコメントが終了した後の行から開始できます。ブロックコメントは、空白が許可される任意の場所(式の内部など)のほか、他の SQL 文の中にも埋め込むことができます。ブロックコメントはネストされません。ブロックコメントの中に単一行コメントを記述しても無視されます。式は他の SQL ブロック内のサブコマンドです。SQL 文で使用する式の有効な構文を次に示します。式とは、単一の値に解決できる値と演算子の任意の組み合わせを指します。式はブール値(true または false)に解決されるものと、非ブール値に解決されるものの 2 種類に大別されます。この条件を満たす式の種類は次のとおりです。
いくつかの関数
いくつかの演算子(具体的には比較演算子)
リテラルの数値は、整数または浮動小数点数として記述します。科学的表記法もサポートされます。
小数点には常に
(ピリオド)を使用します。ストリングリテラルを示すときは、ストリングを一重引用符(')で囲みます。ストリングの中に一重引用符を含めるには、'' のように一重引用符を行で 2 つ重ねます。リテラルブール値は、列のデータ型が Boolean の場合に使用します。リテラル値にはトークン NULL も使用できます。これらの特殊識別子はすべて、各テーブルのすべての行に関連付けられた一意のランダムな整数キー("行キー")を表します。特殊識別子は、CREATE TABLE 文で同じ名前を持つ実際の列が定義されていない場合のみ、行キーを参照します。行キーは読み取り専用列のように動作します。行キーは通常の列が使用できる場所であればどこでも使用できますが、行キーの値を UPDATE 文または INSERT 文で変更することはできません。スカラ量または IN 演算子のオペランドとして使用する場合、SELECT ステートメントで返すことができるのは 1 つの列のみです。SELECT 式のどの項も外側のクエリの値を参照しない場合、式は他の処理が実行される前に 1 回だけ評価され、その結果が必要に応じて再利用されます。SELECT 式に外部クエリからの変数が含まれる場合(これを相関サブクエリと呼びます)、SELECT ステートメントは必要になるたびに再評価されます。IN 演算子の前に NOT キーワードを付けると、テストの意味が逆になります。IN 演算子の右オペランド以外の式で SELECT ステートメントを使用する場合は、SELECT ステートメントの結果の 1 行目が値として使用されます。SELECT ステートメントが複数行の結果を返す場合、2 行目以降の行はすべて無視されます。CAST 式は、指定された値のデータ型を別の指定されたデータ型に変更します。指定できるデータ型は、CREATE TABLE 文の列定義でデータ型として使用できる空でない型名です。詳しくは、「データ型のサポート」を参照してください。
その他の式要素
以降の節では、式で使用できるその他の SQL 要素について説明します。ビルトイン関数は次の 3 種類に大別されます。これは、トリガの実行時にエラー通知を提供するために使用します。SQL のすべてのキーワードと同様に、関数名も大文字と小文字は区別されません。集計関数は、複数行の値に対して演算を実行します。グループ内の NULL でないすべての X の平均値を返します。数値に見えないストリング値および BLOB 値は 0 と見なされます。AVG() の結果は、入力がすべて整数であっても、常に浮動小数点値です。* 引数の付いた 2 番目の形式は、グループ内の行の総数を返します。グループ内のすべての値の最大値を返します。通常のソート順序を使用して最大値が決定されます。グループ内のすべての値のうち NULL でない最小の値を返します。通常のソート順序を使用して最小値が決定されます。グループ内の NULL でないすべての値の合計を返します。0 を返します。SUM() への入力に整数でも NULL でもない値が含まれている場合、SUM() は浮動小数点値を返しますが、この値は正確な合計の近似値である場合があります。上記の集計関数のうち引数を 1 つ受け取るものはいずれも、その引数の前にキーワード DISTINCT を付けることができます。その場合は、重複した要素が除外されてから集計関数に渡されます。スカラ関数は一度に 1 つの行の値に作用します。スカラ関数の一覧を次に示します。引数 X の絶対値を返します。NULL でない最初の引数のコピーを返します。引数は 2 つ以上指定する必要があります。NULL でない最初の引数のコピーを返します。引数は BLOB 格納型の値と解釈されます。その値の内容の 16 進数表現が返されます。現在の SQLConnection を通じてデータベースに最後に挿入された行の行識別子(生成された主キー)を返します。X のストリングの長さ(文字数)を返します。オプションの ESCAPE 句を指定すると、3 つの引数を使用して関数が呼び出されます。それ以外の場合は、2 つの引数のみを使用して関数が呼び出されます。ストリング X の、すべての文字が小文字に変換されたコピーを返します。X の左側からスペースを除去したストリングを返します。Y 引数を指定すると、Y に含まれるいずれかの文字が X の左側から除去されます。引数の中の最大値を返します。引数には、数字だけでなくストリングも指定できます。最大値は、定義されたソート順序に従って決定されます。MAX() は、引数が 2 個以上ある場合は単純な関数ですが、引数が 1 つだけの場合は集計関数になります。引数の中の最小値を返します。引数には、数字だけでなくストリングも指定できます。最小値は、定義されたソート順序に従って決定されます。MIN() は、引数が 2 個以上ある場合は単純な関数ですが、引数が 1 つだけの場合は集計関数になります。引数が異なる場合は最初の引数を返し、それ以外の場合は NULL を返します。このルーチンは、引数の値を別の SQL 文に挿入するのに適した形に変更したストリングを返します。ストリングは一重引用符で囲まれ、必要に応じて内部引用符がエスケープされます。BLOB 格納クラスは 16 進数のリテラルとしてエンコードされます。この関数は、元に戻す/繰り返し機能を実装するためのトリガを記述する場合に役立ちます。これは暗号的に強い乱数ではありません。疑似ランダムバイトを含む N バイトの BLOB を返します。N は正の整数である必要があります。これは暗号的に強いランダム値ではありません。N の値が負の場合は、単一のバイトが返されます。数値 X を小数第 Y 位に四捨五入します。Y 引数を省略すると、0 が使用されます。X の右側からスペースを除去したストリングを返します。Y 引数を指定すると、Y に含まれるいずれかの文字が X の右側から除去されます。入力ストリング X の Y 番目の文字から Z 個の文字を取り出したサブストリングを返します。X の一番左の文字のインデックス位置は 1 です。Y が負の場合は、サブストリングの開始位置が左からではなく右からカウントされます。X の左右両側からスペースを除去したストリングを返します。Y 引数を指定すると、Y に含まれるいずれかの文字が X の左右両側から除去されます。式 X の型を返します。データ型について詳しくは、「データ型のサポート」を参照してください。ストリング X の、すべての文字が大文字に変換されたコピーを返します。日付/時刻書式設定関数は、書式設定された日付および時刻データの作成に使用するスカラ関数のグループです。これらはストリング値および数値を引数とし、ストリング値および数値を返します。DATE データ型に対して使用するものではありません。DATE データ型で宣言された列のデータを使用する場合、これらの関数は期待どおりに動作しません。最初のパラメータ(T)では、「時刻書式」で示された書式の時刻ストリングを指定します。時刻ストリングの後に任意の数の修飾子を指定できます。修飾子については、「修飾子」を参照してください。最初のパラメータ(T)では、「時刻書式」で示された書式の時刻ストリングを指定します。時刻ストリングの後に任意の数の修飾子を指定できます。修飾子については、「修飾子」を参照してください。最初のパラメータ(T)では、「時刻書式」で示された書式の時刻ストリングを指定します。時刻ストリングの後に任意の数の修飾子を指定できます。修飾子については、「修飾子」を参照してください。最初のパラメータ(T)では、「時刻書式」で示された書式の時刻ストリングを指定します。時刻ストリングの後に任意の数の修飾子を指定できます。修飾子については、「修飾子」を参照してください。STRFTIME() ルーチンは、最初の引数 F で指定された書式ストリングに従って書式設定された日付を返します。書式ストリングでは、次の置換がサポートされます。2 番目のパラメータ(T)では、「時刻書式」で示された書式の時刻ストリングを指定します。時刻ストリングの後に任意の数の修飾子を指定できます。修飾子については、「修飾子」を参照してください。時刻ストリングには、次のいずれかの書式を使用できます。
現在の日時(世界標準時)
上記の書式に含まれる T は、日付と時間を区切るリテラル文字の "T" です。時刻ストリングの後に修飾子を 0 個以上続けることで、日付または日付の解釈を変更できます。使用できる修飾子は次のとおりです。時刻に加算する日数です。時刻に加算する時間数です。時刻に加算する分数です。時刻に加算する秒数およびミリ秒数です。時刻に加算する月数です。時刻に加算する年数です。時刻を月の初めに戻します。時刻を年の初めに戻します。時刻を日の初めに戻します。日付をローカル時間に変換します。日付を世界標準時に変換します。SQL は様々な演算子をサポートしており、ほとんどのプログラミング言語に存在する一般的な演算子のほか、SQL に固有の演算子もあります。
一般的な演算子
次のリストは、SQL ブロックで使用できる二項演算子を優先順位の高い順に並べたものです。単項前置演算子は次のものがサポートされています。COLLATE 演算子は単項後置演算子と見なすことができます。COLLATE 演算子は優先順位が最も高く、常に他のどの前置単項演算子や二項演算子よりも強く結び付きます。等号演算子と不等号演算子はそれぞれ 2 種類あります。|| はストリングを連結する演算子で、そのオペランドである 2 つのストリングを 1 つにつなげます。% 演算子は、右オペランドを法とする左オペランドの剰余を返します。二項演算子の結果は数値です。ただし、|| 連結演算子だけは例外で、結果がストリングになります。LIKE 演算子は、パターンマッチングによる比較を行います。LIKE 演算子の右オペランドにはパターンを指定し、左オペランドにはそのパターンと照合するストリングを指定します。パターン内のパーセント記号(%)はワイルドカード文字で、ストリング内の 0 個以上連続した文字に一致します。パターン内のアンダースコア(_)はストリング内の任意の 1 文字に一致します。その他の文字はすべて、その文字そのものとして、大文字と小文字を区別せずに照合されます(メモ:データベースエンジンでは、7 ビットラテン文字の大文字と小文字のみが理解されます。オプションの ESCAPE 句を指定する場合、ESCAPE キーワードの後に続く式は、1 文字で構成されるストリングに評価される必要があります。この文字は、LIKE パターンの中で、リテラルのパーセントまたはアンダースコア文字を照合するために使用できます。パターン内でエスケープ文字の後にパーセント記号、アンダースコア、またはエスケープ文字自体を記述すると、それらはそれぞれ、ストリング内のリテラルのパーセント記号、アンダースコア、またはエスケープ文字に一致します。IN 演算子は、左オペランドが、右オペランド(括弧で囲まれた値のリスト)内のいずれかの値と等しいかどうかを返します。右オペランドには複数のリテラル値をカンマで区切って記述するか、SELECT 文を記述します。
GLOB、LIKE、および IN 演算子の前に NOT キーワードを付けると、テストの意味が逆になります(つまり、値が指定のパターンと一致しないことが確認されます)
パラメータは、式の中でリテラル値を表すためのプレースホルダーを指定します。パラメータは次の 3 つの形式をとります。疑問符はインデックス付きのパラメータを示します。この形式のパラメータには、SQL ステートメントに登場した順に数値インデックス値が割り当てられます。インデックス値は 0 から始まります。コロンの後に識別名が付いた形式は、AAAA という名前の名前付きパラメータ用の場所を保持します。名前付きパラメータにも、SQL 文に登場した順に数値インデックスが付けられます。混乱を避けるために、名前付きパラメータとインデックス付きパラメータを混在させないことをお勧めします。
サポートされていない SQL 機能
再帰トリガ(自分自身をトリガするトリガ)はサポートされていません。ネストされたトランザクション - 単一のアクティブトランザクションのみが許可されます。更新可能なビュー - ビューは読み取り専用です。つまり、アクセス許可として適用できるのは、基になるオペレーティングシステムの通常のファイルアクセス許可のみです。COPY:この文はサポートされていません。システムテーブルにはアクセスできません。ランタイムには、オブジェクト指向的な方法でスキーマデータにアクセスできるスキーマ API が含まれています。ステートメントパラメータのインデックス:多くの実装では、ステートメントパラメータのインデックスは 1 から始まります。
それに対して、Adobe AIR の場合、ステートメントパラメータのインデックスは 0 から始まります(最初のパラメータのインデックス値は 0、2 番目のパラメータのインデックス値は 1 というようになります)
OBJECT: OBJECT:Object クラスまたは AMF3 を使用して直列化および非直列化することが可能なすべてのサブクラスに対応します(これには、カスタムクラスを含む多くのクラスが含まれますが、表示オブジェクトまたは表示オブジェクトをプロパティとして持つオブジェクトは含まれません)
データ型のサポート
ほとんどの SQL データベースとは異なり、Adobe AIR の SQL データベースエンジンでは、テーブルの列に特定の型の値を格納する必要はなく、特定の型が強制されることもありません。その代わりに、格納クラスと列親和型という 2 つの概念を使用してデータ型が管理されます。この節では、格納クラスと列親和型について説明し、様々な条件下でデータ型の違いがどのように解決されるのかを示します。
データ型と比較演算子
データ型と数値演算子
データ型とソート
データ型とグループ化
格納クラスは、データベースへの値の格納に使用される実際のデータ型を表します。次の格納クラスが使用できます。SQL 文に埋め込まれたリテラルとしてデータベースに渡される値、またはパラメータを使用して SQL 文にバインドされた値はすべて、SQL 文が実行される前に格納クラスに割り当てられます。SQL 文に含まれるリテラルは、一重引用符または二重引用符で囲まれている場合は格納クラス TEXT に、引用符で囲まれておらず、小数点または指数のない数字として指定されている場合は INTEGER に、引用符で囲まれておらず、小数点または指数の付いた数字として指定されている場合は REAL に、値が NULL の場合は NULL に、それぞれ割り当てられます。詳しくは、「式」の「リテラル値」を参照してください。parameters 結合配列を使用してパラメータとして提供された値は、バインドされたネイティブのデータ型に最も近い格納クラスに割り当てられます。列の親和型は、その列に格納するデータに推奨される型です。INSERT ステートメントまたは UPDATE ステートメントで値を列に格納すると、ランタイムはその値のデータ型を指定された親和型に変換しようとします。これは、データベースに格納する前にオブジェクトの toString() メソッドを呼び出した場合に相当します。値を指定された親和型に変換できない場合はエラーが発生し、処理は行われません。SELECT ステートメントを使用してデータベースから値を取得すると、格納時に別のデータ型から変換されているかどうかに関係なく、親和型に対応するクラスのインスタンスが返されます。データベースの各列には、次のいずれかの親和型が割り当てられます。数値データを TEXT 親和型の列に挿入すると、データがテキスト形式に変換されてから格納されます。テキストデータを NUMERIC 列に挿入すると、データを格納する前に整数または実数への変換が試みられます。変換できない場合は、エラーが発生します。NUMERIC 列から取得した値は、値に適した最も具体的な数値型のインスタンスとして返されます。つまり、値が正の整数または 0 の場合、uint インスタンスが返され、負の整数の場合、int インスタンスが返されます。また、値に浮動小数点部分(非整数)がある場合、Number インスタンスが返されます。相違点は、浮動小数点部分のない実数値(Number インスタンスなど)または浮動小数点部分のない実数値に変換できるテキスト値を挿入した場合に、値が整数に変換され、INTEGER 記憶クラスを使用して格納される点のみです。浮動小数点部分のある実数値を格納しようとすると、エラーが発生します。REAL 親和型または NUMBER 親和型の列も NUMERIC 親和型の列と同じように動作しますが、整数値が強制的に浮動小数点表現に変更される点が異なります。DATE 親和型の列には、日付と時刻の値が格納されます。変換に失敗するとエラーが発生します。コードで Number、int、または uint の値を格納しようとした場合、日付の検証は行われず、有効なユリウス日付値と見なされます。DATE 値は REAL 記憶クラスを使用してユリウス日付値として格納されるので、ソート操作や比較操作も期待どおりに動作します。値を有効な XML に変換できない場合、エラーが発生します。無効な値を格納した場合、その値の取得時に空の XML オブジェクトが返されます。値の取得時に AMF3 形式から非直列化され、格納されていたクラスのインスタンスとして返されます。表示オブジェクトなど一部の ActionScript クラスは、元のデータ型のインスタンスとして非直列化できません。
カスタムクラスインスタンスの場合、格納する前に flash
また、このデータを取得する前に、クラスに対して同じエイリアスを登録する必要があります。本質的に非直列化できないクラスであるため、あるいはクラスのエイリアスが未指定または不一致であるために適切に非直列化できないデータは、格納されている元のインスタンスに対応するプロパティと値を持つ匿名オブジェクト(Object クラスインスタンス)として返されます。NONE 親和型の列には、優先される格納クラスはありません。データを挿入する前にデータの変換は行われません。
親和型の決定
親和型を決定する際は、次の規則が適用されます。列のデータ型にストリング "BLOB" が含まれている場合、またはデータ型が指定されていない場合、NONE 親和型になります。ステートメントを使用してテーブルを作成する場合は、どの列にもデータ型が指定されていないので、すべての列が NONE 親和型になります。
データ型と比較演算子
= がサポートされています。また、複数の値のいずれかに一致するかどうかをチェックする IN 演算子と、三項比較演算子の BETWEEN も使用できます。これらの演算子について詳しくは、「演算子」を参照してください。比較の結果は、比較する 2 つの値の格納クラスによって異なります。2 つの値を比較するときは、次の規則が適用されます。格納クラス NULL の値は、他のどの値(格納クラス NULL の別の値も含む)よりも小さいと見なされます。2 つの TEXT 値を比較するときは、二項比較が行われます。2 つの BLOB 値を比較した結果は、常に二項比較を使用して決定されます。数値記憶クラスとテキスト記憶クラスの間で二項比較を行うとき、データベースで比較が実行される前に必要に応じて値の変換が試みられます。数値格納クラスとテキスト格納クラスを比較するときは、次の規則が適用されます(メモ:次の規則で使用されている「式」という用語には、列値以外の SQL スカラ式やリテラルも含まれます。
Z は式と見なされます)
列の値を式の結果と比較する場合は、比較が行われる前に、その列の親和型が式の結果に適用されます。2 つの式の結果を比較するときには、変換は行われません。結果がそのまま比較されます。ストリングと数値を比較する場合は、常に数値がストリングより小さくなります。三項演算子 BETWEEN は常に、同等の二項表現として再構成されます。この処理は、この式を評価するために必要なそれぞれの比較において a に異なる親和型が適用される場合でも変わりません。) という形式の式も、上記の二項比較に関する 3 つの規則に従って(つまり、a = b と同じように)処理されます。例えば、b が列の値で a が式の場合は、比較が行われる前に、b の親和型が a に適用されます。IN 演算子の右の値(この例では x、y、および z の値)は、たとえそれが列の値であっても、式と見なされます。IN 演算子の左の値が列の場合は、その列の親和型が使用されます。左の値が式の場合は、変換は行われません。また、COLLATE 句を使用して比較方法を変更することもできます。
データ型と数値演算子
サポートされている数値演算子(*、/、%、+、および -)のいずれを使用するときも、式を評価する前に演算子の各オペランドに数値親和型が適用されます。連結演算子 || を使用するときは、式が評価される前に各オペランドが TEXT 格納クラスに変換されます。どのオペランドも TEXT 記憶クラスに変換できない場合、その式の結果は NULL になります。このように、値を変換できない状況は次の 2 つの場合に起こります。
データ型とソート
ソートの前に格納クラスの変換は行われません。
データ型とグループ化
GROUP BY 句を使用して値をグループ化するとき、記憶クラスの異なる値は別のものと見なされます。GROUP BY 句の結果として、値に親和型が適用されることはありません。これらの比較が行われる前に、それぞれの値に親和型が適用される場合があります。可能であれば、複合 SELECT 文の結果セットの 1 つの列で返されるすべての値に同じ親和型が適用されます。適用される親和型は、その位置に(他の種類の式ではなく)列値を持つ最初の構成 SELECT 文によって返される列の親和型です。特定の複合 SELECT 列について、どの構成 SELECT 文も列値を返さない場合、その列では親和型を適用せずに値の比較が行われます。
このドキュメントで使用する表記規則
このドキュメントに記載された SQL 文の定義では、次の表記規則を使用しています。
テキストの大文字と小文字
lower case - プレースホルダー項または句の名前はすべて小文字で表記されています。
グループおよび置換可能を示す文字
| - パイプ文字は置換可能なオプションの間で使用されており、"または" に読み替えることができます。[] - 角括弧で囲まれた項目はオプション項目です。角括弧の中には、単一の項目、または互いに置換可能な複数の項目が記載されています。