Flash HTML 图像链接 AS3
-
20-08-2019 - |
题
我有一个 flash 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 方法中......但我很失落...任何帮助,将不胜感激!
解决方案
如果您要在 html 文本框中使用 <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,但它应该与从文本字段属性面板中选择“多行”和“自动换行”完全相同。
其他提示
我发现在创建在Flash的TextField <img>
标签链接可能会有问题。
我发现这个问题已经被报告在Adobe bug跟踪系统在这里:
http://bugs.adobe.com/jira/browse/FP-2146
在作为一种变通方法我创建一个单独的SWF文件中的确切大小作为图像相同,并且嵌入在代替(即160x47阶段和使用的navigateToUrl可点击的链接的MovieClip /按钮)。基本上可以嵌入的SWF文件内的TextField方式相同的图像。
这是不理想,但它似乎像一个不错的折中考虑SWF“按钮”现在可以使用,或多或少以同样的方式布局,你会使用<img>
标签。
AIR(手机)忽略了安全IMG标签显然......在我看来毫无用处。 添加的事实是TextFlow不推荐或支持,要么在移动,和其他许多水果少的尝试得到一个IMG标签来显示超出到目前为止挑战。我敢打赌与给定的成分几乎是不可能的(这是没有很好的记载和冲突性与周围的问题中,线上资源当然空中机动土地,所以目前还不清楚和混乱的是新鲜的测试版)。