我必须做一个非常简单的swf
应用程序,它能够显示一系列pdf
个文件。
实际上我能够在单个图层上创建菜单界面(第0帧上的一些按钮将用户重定向到应该显示pdf的其他框架)。
这是我的问题:
我需要一种方法来读取flash框架内的pdf。
我找到了一个可能的解决方案,将pdf转换为带有FlashPaper 2
的swf
现在我想知道如何将swf导入到框架中。
阅读一些actionscript 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根本不会加载)
解决方案:
我在this page找到了一个可能的解决方案。
只有在加载过程完成后才能改变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);
答案 0 :(得分:0)
您可以使用scaleX和scaleY属性修改加载程序的大小。 保持它们相等,以便swf不被拉伸。
您可能还想听取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
}