Вопрос

У меня есть флэш-файл 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...но я так потерян...любая помощь будет оценена по достоинству!

Это было полезно?

Решение

Если вы собираетесь использовать тег <img> в поле htmlText, "вы должны сделать текстовое поле многострочным и переносить текст"

Я попробовал это, и это отлично работает для меня.Изображение загрузилось, и ссылка тоже сработала.Вот мой код:

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, но он должен быть точно таким же, как выбор «многострочного» и «переноса слов» на панели свойств текстовых полей.

Другие советы

Я нашел создание ссылок на <img> теги в TextFields во Flash могут быть проблематичными.

Я заметил, что о проблеме сообщалось в системе отслеживания ошибок Adobe здесь:

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

Однажды в качестве обходного пути я создал отдельный SWF-файл того же размера, что и изображение, и вместо этого встроил его (т.сцена размером 160x47 и MovieClip/кнопка с кликабельной ссылкой с использованием навигацииToURL).По сути, вы можете вставлять SWF-файлы в TextFields так же, как изображения.

Это не идеально, но кажется достойным компромиссом, учитывая, что «кнопку» swf теперь можно использовать и размещать более или менее так же, как вы бы использовали кнопку <img> ярлык.

Очевидно, AIR (Mobile) игнорирует теги IMG в целях безопасности...на мой взгляд бесполезно.Добавление того факта, что TextFlow не рекомендуется и не поддерживается ни для мобильных устройств, ни для многих других безрезультатных попыток заставить тег IMG отрисовываться, пока не является сложной задачей.Я готов поспорить, что с данными компонентами это практически невозможно (конечно, в AIR Mobile Land, которая плохо документирована и противоречит онлайн-источникам по этим проблемам, поэтому неясно и сбивает с толку то, что она только что вышла из бета-версии).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top