0

一連のファイルswfを表示できる非常に単純なアプリケーションを実行する必要があります。pdf実際には、単一のレイヤーでメニューインターフェイスを作成できました(フレーム0のいくつかのボタンは、ユーザーをPDFが表示される他のフレームにリダイレクトします)。

ここで私の質問:

フラッシュ フレーム内の pdf を読み取る方法が必要です。

PDFをswfに変換する可能な解決策を見つけましたFlashPaper 2 .swfをフレームにインポートする方法を知りたいです。

いくつかのactionscript 3ガイドを読んで、次のコードで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 の配置に役立つためです。and
を使用することも可能であり、機能することがわかりました。loader.xloader.y

残念ながら、swf/pdf ファイルの幅と高さを制御できませんでした (存在loader.widthloader.heightますが、使用すると swf がまったく読み込まれません)。


解決:

このページで可能な解決策を見つけました。
アイデアはswf、読み込みプロセスが完了した後にのみスケールを変更することです (配置は前でも行うことができます)。
とにかく、 convertedが で正しく動作しないActionscript 2ため、このプロジェクトに使用する必要がありました。理由はわかりません...FlashPaperpdfAS3

ここにコード:

//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);
4

1 に答える 1

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
}
于 2012-10-02T11:39:09.150 に答える