HTMLLoader オブジェクトは、Adobe® Flash® Player の Sprite クラスの表示プロパティを継承します。例えば、サイズを変更する、移動する、隠す、背景色を変更するなどの操作を行うことができます。それ以外にも、フィルター、マスク、拡大/縮小、回転などの高度なエフェクトを適用できます。エフェクトを適用する場合は、見やすさへの影響を考慮してください。適用するエフェクトによっては、HTML ページに読み込まれる SWF コンテンツおよび PDF コンテンツを表示できなくなります。
HTML ウィンドウには、HTML コンテンツをレンダリングする HTMLLoader オブジェクトが含まれます。このオブジェクトはウィンドウの領域の制約を受けるので、サイズ、位置、回転または拡大/縮小率を変更しても、意図した結果が得られない場合があります。
基本的な表示プロパティ
HTMLLoader の基本的な表示プロパティを使用すると、親表示オブジェクト内でのコントロールの位置指定、サイズの設定、コントロールの表示と非表示の切り替えを行うことができます。HTML ウィンドウの HTMLLoader オブジェクトについては、これらのプロパティを変更しないでください。
基本的な表示プロパティを次に示します。
プロパティ
|
注記
|
x
、
y
|
親コンテナ内でのオブジェクトの位置を指定します。
|
width
、
height
|
表示領域のサイズを変更します。
|
visible
|
オブジェクトとオブジェクトに含まれるコンテンツを表示するかどうかを指定します。
|
HTML ウィンドウ外では、HTMLLoader オブジェクトの
width
プロパティと
height
プロパティのデフォルト値は 0 です。読み込んだ HTML コンテンツを表示するには、まず width と height を設定する必要があります。HTML コンテンツは、HTMLLoader のサイズで描画され、コンテンツの HTML プロパティと CSS プロパティに従ってレイアウトされます。HTMLLoader のサイズを変更すると、コンテンツが再配置されます。
コンテンツを新しい HTMLLoader オブジェクトに読み込む場合(
width
は 0 に設定されたまま)、HTMLLoader の表示の
width
と
height
を
contentWidth
プロパティと
contentHeight
プロパティで設定することもできます。このテクニックは、HTML と CSS の配置ルールに従ってレイアウトした場合に、最小幅が十分に確保されるページに対しては有効です。ただし、HTMLLoader によって適正な幅が指定されていないと、ページが細長いレイアウトに配置される場合があります。
注意:
他のタイプの表示オブジェクトについても一般的に言えることですが、HTMLLoader オブジェクトの width と height を変更しても、scaleX と scaleY の値は変化しません。
HTMLLoader コンテンツの透明度
HTMLLoader オブジェクトの
paintsDefaultBackground
プロパティは、HTMLLoader オブジェクトで不透明な背景を描画するかどうかを決定するもので、デフォルトで
true
になっています。
paintsDefaultBackground
を
false
にすると、背景が透明になります。表示オブジェクトコンテナまたは HTMLLoader オブジェクトの下に位置するその他の表示オブジェクトは、HTML コンテンツの前景エレメントの背後に表示されます。
body エレメントまたは HTML ドキュメントのその他のエレメントで背景色を指定(例えば
style="background-color:gray"
を使用して指定)すると、HTML の該当部分の背景は不透明になり、指定した背景色でレンダリングされます。HTMLLoader オブジェクトの
opaqueBackground
プロパティを設定し、
paintsDefaultBackground
を
false
にした場合は、
opaqueBackground
に設定した色が表示されます。
注意:
透明な PNG 形式のグラフィックを使用して、HTML ドキュメント内のエレメントにアルファブレンドの背景を指定できます。HTML エレメントの opacity スタイルの設定はサポートされていません。
HTMLLoader コンテンツの拡大/縮小
HTMLLoader オブジェクトの拡大/縮小では、拡大/縮小率が 1.0 を超えないようにしてください。HTMLLoader コンテンツのテキストは特定の解像度でレンダリングされるので、HTMLLoader オブジェクトを拡大するとピクセルが目立つようになります。ウィンドウのサイズが変更されたときに HTMLLoader とそのコンテンツが拡大/縮小されないようにするには、Stage の
scaleMode
プロパティを
StageScaleMode.NO_SCALE
に設定します。
HTML ページに SWF コンテンツまたは PDF コンテンツを読み込む場合の考慮事項
次の場合、HTMLLoader オブジェクトに読み込まれる SWF コンテンツおよび PDF コンテンツは表示されません。
問題のあるプロパティ設定を削除し、アクティブなフィルターを削除すると、コンテンツが再表示されます。
また、ランタイムでは、透明ウィンドウに PDF コンテンツを表示できません。オブジェクトまたは埋め込みタグの
wmode
パラメーターが
opaque
または
transparent
に設定されている場合、ランタイムでは HTML ページに埋め込まれた SWF コンテンツのみが表示されます。
wmode
のデフォルト値は
window
なので、wmode パラメーターを明示的に設定しない限り、SWF コンテンツは透明ウィンドウに表示されません。
注意:
AIR 1.5.2 より前のバージョンでは、どの wmode 値が使用されていようと、HTML に埋め込まれた SWF が表示されることはありません。
HTMLLoader でこれらのタイプのメディアを読み込む方法について詳しくは、
HTML への SWF コンテンツの埋め込み
および
AIR での PDF コンテンツの追加
を参照してください。
高度な表示プロパティ
HTMLLoader クラスは、特殊エフェクトに使用できるメソッドを複数継承しています。一般に、これらのエフェクトは、HTMLLoader の表示で使用する場合は制限がありますが、トランジションやその他の一時的なエフェクトに役立ちます。例えば、ユーザー入力を収集するダイアログウィンドウを表示する場合に、ユーザーがダイアログを閉じるまでメインウィンドウの表示をぼかすことができます。同様に、ウィンドウを閉じるときに表示をフェードアウトさせることもできます。
高度な表示プロパティを次に示します。
プロパティ
|
制限
|
alpha
|
HTML コンテンツが見えにくくなる場合があります。
|
filters
|
HTML ウィンドウでは、外部エフェクトはウィンドウの端でクリップされます。
|
graphics
|
graphics コマンドを使用して描画されるシェイプは、デフォルトの背景を含め、HTML コンテンツの下に表示されます。描画されたシェイプが表示されるようにするには、paintsDefaultBackground プロパティを false にする必要があります。
|
opaqueBackground
|
デフォルトの背景の色は変更されません。このカラーレイヤーが表示されるようにするには、paintsDefaultBackground プロパティを false にする必要があります。
|
rotation
|
矩形の HTMLLoader 領域の角が、ウィンドウの端でクリップされることがあります。HTML コンテンツに読み込まれた SWF コンテンツおよび PDF コンテンツは表示されません。
|
scaleX
、
scaleY
|
拡大/縮小率が 1 を超えると、レンダリングされた表示部分のピクセルが目立つようになることがあります。HTML コンテンツに読み込まれた SWF コンテンツおよび PDF コンテンツは表示されません。
|
transform
|
HTML コンテンツが見えにくくなる場合があります。HTML 表示がウィンドウの端でクリップされることがあります。回転、拡大/縮小または傾斜を伴う変形の場合、HTML コンテンツに読み込まれた SWF コンテンツおよび PDF コンテンツは表示されません。
|
次の例では、
filters
配列を設定して HTML 表示全体をぼかす方法を示します。
var html:HTMLLoader = new HTMLLoader();
var urlReq:URLRequest = new URLRequest("http://www.adobe.com/");
html.load(urlReq);
html.width = 800;
html.height = 600;
var blur:BlurFilter = new BlurFilter(8);
var filters:Array = [blur];
html.filters = filters;
|
|
|