0

私は AS3 と AIR でプレゼンテーションに取り組んでおり、個々のスライド (最終的には複数のスライド) を印刷できるようにする必要があります。私はまったくプログラマーではありません。過去に AS2 で少しやったことがありますが、今は AS3 からやり直しています。

私はこのコードから始めました:

print_btn.addEventListener(MouseEvent.CLICK,printContent);

function printContent(evt:MouseEvent) {
   var printJob:PrintJob = new PrintJob();

   if (printJob.start()) {

      if (content_mc.width>printJob.pageWidth) {
         content_mc.width=printJob.pageWidth;
         content_mc.scaleY=content_mc.scaleX;
      }

      printJob.addPage(content_mc);
      printJob.send();
   }
}

これは機能しますが、少し機能不全であり、クリップをリセットしません。

次に、ここに投稿された最終的なコードを試しました: AS3 using PrintJob to print a MovieClip

これをタイムラインにドロップして、いくつかのことを変更するだけで、はるかにうまく機能しました. 少なくとも、印刷ダイアログの起動、サイズ変更、印刷、「クリップのリセット」などに関しては、唯一欠けているのは、印刷されたページの配置が少し改善されることです...そして、マウスイベントを適切に機能させるのに問題があります。この投稿のコードにできるだけ近い設定を試みました。次のようになります。

printSlide12_btn.addEventListener(MouseEvent.CLICK, printMovieClip);
}

function printMovieClip(clip:MovieClip):void {

しかし、これまたは他の何かを機能させることができませんでした。ここではおそらく完全に間違ったことをしているだけだと思いますが、役立つ例が見つからないようです。

4

1 に答える 1

0

何がうまくいかなかったのか正確には言及していませんが、私が見ることができるのは、ハンドラーが正しくないということです。これを試してください:

function printMovieClip(e:MouseEvent):void
{
   // put your print code here
}

イベント ハンドラーは、リスナーがリッスンしているものであるため、MouseEvent を受け入れる必要があります。

「そして、マウスイベントを適切に機能させるのに問題があります」はかなりあいまいなので、エラーを含めることは役に立ち、エラーの原因となっている行は最小限です。

于 2013-04-21T16:21:41.547 に答える