Flash HTML link da imagem AS3
-
20-08-2019 - |
Pergunta
Eu tenho um arquivo Flash AS3, e eu estou importando um arquivo HTML que contém esse 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>
e eu não posso para a vida de me descobrir isso, eu olhei em todos os lugares.
Houve um par de fóruns que sugeriu:
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);
}
(esse exemplo é fragmentado como o inferno, eu só incluiu para ilustrar o que estou tentando fazer)
Basicamente, eu acho que eu preciso para carregar a imagem no método getImageReference ... mas eu estou tão perdido ... qualquer ajuda seria apreciada!
Solução
Se você estiver indo para usar a tag em uma caixa de htmlText " você deve definir o campo de texto para ser várias linhas e para quebrar o texto "
Eu tentei-o, e ele funciona muito bem para mim. Ele carregou a imagem eo link trabalhou também. Aqui está o meu código:
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;
O meu exemplo usa AS3 puro, mas deve ser exatamente o mesmo que selecionar "várias linhas" e "wordwrap" do seu painel de TextFields propriedades.
Outras dicas
Eu encontrei a criação de links em etiquetas <img>
em TextFields em Flash pode ser problemático.
I viu o problema foi relatado sobre o bug tracker adobe aqui:
http://bugs.adobe.com/jira/browse/FP-2146
Uma vez como uma solução alternativa que eu criei um arquivo SWF separado exatamente o mesmo tamanho como a imagem e incorporado que, em vez (ou seja, uma etapa 160x47 e um botão / MovieClip com um link clicável usando navigateToURL). Basicamente, você pode incorporar swf arquivos dentro de TextFields da mesma forma como imagens.
Não é o ideal, mas pareceu-me que um compromisso decente considerando o 'botão' swf agora pode ser usado e colocado para fora em mais ou menos da mesma forma que você teria usado o tag <img>
.
AIR (Mobile) ignora IMG tags para a segurança aparentemente ... inútil na minha opinião. Adicionando o fato do TextFlow não é recomendável ou suporte para que seja em Mobile, e muitas outras frutas menos tentativas para obter uma tag IMG para tornar está além desafiando até agora. Aposto quase impossível com os componentes indicados (no ar móvel terrestre é claro, que não é bem documentada e conflituosas com fontes on-line em torno das questões, por isso é pouco claro e confuso estar fresco fora do beta).