0

フラッシュas3ファイルがあり、次のリンクを含むHTMLファイルをインポートしています。

<a href="purchase.php?lang=0&"><img src="https://www.paypal.com/en_GB/i/btn/btn_buynowCC_LG.gif" id="paypal_button"></a>

そして、私は私の人生のためにそれを理解することはできません、私はいたるところを見てきました。

提案したフォーラムがいくつかありました。

function onTicketLoad():void {
if(paypal != null && this.contains(paypal)) {
    removeChild(paypal);
}
var imgLoader:DisplayObject = content_text.getImageReference("paypal_button");
//imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,onHtmlImageLoaded);
paypal.addChild(imgLoader.content);
}

function onHtmlImageLoaded(e:Event):void {
    e.target.removeEventListener(Event.COMPLETE, onHtmlImageLoaded);

    paypal.addChild(e.target.content);
    paypal.buttonMode = true;
    paypal.useHandCursor = true;
    addChild(paypal);
}

(その例はすべての地獄として断片化されています、私は私がやろうとしていることを説明するためにそれを含めました)

基本的に私は画像をgetImageReferenceメソッドにロードする必要があると思います...しかし私はとても迷っています...どんな助けもいただければ幸いです!

4

3 に答える 3

2

FlashのTextFieldsのタグにリンクを作成<img>すると問題が発生する可能性があることがわかりました。

この問題がadobeバグトラッカーで報告されていることに気づきました。

http://bugs.adobe.com/jira/browse/FP-2146

回避策として、画像とまったく同じサイズの別のswfファイルを作成し、代わりに埋め込みました(つまり、160x47ステージと、navigateToURLを使用してクリック可能なリンクを持つMovieClip /ボタン)。基本的に、画像と同じ方法でTextFields内にswfファイルを埋め込むことができます。

<img>これは理想的ではありませんが、swfの「ボタン」をタグを使用した場合とほぼ同じ方法で使用およびレイアウトできることを考えると、適切な妥協案のように見えました。

于 2009-07-18T15:21:15.513 に答える
1

AIR (モバイル) は、セキュリティのために IMG タグを無視しているようです...私の意見では役に立ちません。TextFlow がモバイルで推奨またはサポートされていないという事実を追加すると、IMG タグをレンダリングするための他の多くの試みは、これまでのところ困難を超えています。与えられたコンポーネントでは、ほぼ不可能に賭けることができます (もちろん、AIR Mobile の世界では、十分に文書化されておらず、問題に関するオンライン ソースと矛盾しているため、ベータ版を出たばかりで不明確で混乱を招きます)。

于 2011-10-03T05:51:06.483 に答える
1

htmlText ボックスで < img > タグを使用する場合は、「テキスト フィールドを複数行に設定し、テキストを折り返す必要があります

私はそれを試しましたが、私にとってはうまくいきます。画像が読み込まれ、リンクも機能しました。これが私のコードです:

import flash.text.TextField;

var labelText:String = '<a href="purchase.php?lang=0&"><img src="https://www.paypal.com/en_GB/i/btn/btn_buynowCC_LG.gif" id="paypal_button"></a>';
var label:TextField = new TextField();
label.border = true;
label.multiline = true;
label.wordWrap = true;
label.width = 200;
label.height = 100;
addChild(label);
label.htmlText = labelText;

私の例では純粋な AS3 を使用していますが、テキストフィールドのプロパティ パネルから "multiline" と "wordwrap" を選択するのとまったく同じはずです。

于 2009-05-11T08:40:54.937 に答える