Search code examples
htmlflashactionscript-3paypal

Flash HTML image link AS3


I have a flash as3 file, and I'm importing an HTML file that contains this link:

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

and I cannot for the life of me figure it out, I've looked everywhere.

There were a couple of forums that suggested:

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);
}

(that example is fragmented as all hell, I just included it to illustrate what I'm trying to do)

Basically I think I need to load the image into the getImageReference method... but I'm so lost... any help would be appreciated!


Solution

  • If you are going to use the < img > tag in an htmlText box, "you must set the text field to be multiline and to wrap text"

    I tried it, and it works fine for me. It loaded the image and the link worked too. Here is my code:

    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;
    

    My example uses pure AS3, but it should be exactly the same as selecting "multiline" and "wordwrap" from your textfields properties panel.