[英]load an external swf (FlashPaper pdf) into a flash project
我必须做一个非常简单的swf
应用程序,它可以显示一系列pdf
文件。 实际上,我能够在单层上创建菜单界面(第0帧上的某些按钮,这些按钮将用户重定向到应显示pdf的其他帧)。
这是我的问题:
我需要一种方法来读取Flash框架内的pdf。
我找到了使用FlashPaper 2
将pdf转换为swf的可能解决方案。现在,我想知道如何将swf导入框架。
阅读一些动作脚本3指南,我能够创建一个容器movieclip(一个简单的矩形),并使用以下代码将swf加载到其中:
var swf:MovieClip;
var loader:Loader = new Loader();
var defaultSWF:URLRequest = new URLRequest("test.swf"); //test.swf is my converted pdf
loader.load(defaultSWF);
screen_01.addChild(loader); //screen_01 is the container rectangle converted to movieclip
我使用了一个容器动画片段来维护框架上的其他对象(菜单按钮),因为它有助于swf定位。
我看到也可以使用loader.x
和loader.y
并且它可以工作。
不幸的是,我无法控制swf / pdf文件的宽度和高度( loader.width
和loader.height
存在,但如果使用,将导致SWF根本无法加载)
解:
我在此页面上找到了可能的解决方案。
想法是仅在加载过程完成后才更改swf
比例(甚至可以在定位之前完成)。
无论如何,我必须为此项目使用Actionscript 2
,因为FlashPaper
转换的pdf
在AS3
上无法正常使用,我不知道为什么...
这里的代码:
//insert an emplty movieclip to load the swf, I've called it screen_01
var movLoad:MovieClipLoader = new MovieClipLoader();
var myListener:Object = new Object();
myListener.onLoadInit = function(thisMc:MovieClip) {
thisMc._height = 600;
thisMc._width = 900;
thisMc._x = 50;
thisMc._y = 30;
};
movLoad.addListener(myListener);
movLoad.loadClip("folder/flashpaper_converted_pdf.swf.swf",screen_01);
您可以使用scaleX和scaleY属性修改加载程序的大小。 保持它们相等,这样就不会拉伸瑞士法郎。
您可能还想听COMPLETE
事件来做这样的事情:
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
function onComplete(e:Event)
{
var loader:Loader = e.currentTarget.loader;
loader.scaleX = loader.scaleY = 2; //Double the size of the loaded swf
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.