MacではaddChildされてないとPrintJobで印刷されないっぽいです。

2009 年 3月 9 日

Flashコンテンツの全て、および一部のSpriteを印刷する場合には PrintJobクラス を使って印刷しますが、ちょこっとつまづきましたのでメモ。リンク先のAdobeのAS Docの例から拝借しますと、特定のSpriteを印刷する場合は

Actionscript:
  1. var my_pj:PrintJob = new PrintJob();
  2. if (my_pj.start()) {
  3.     try {
  4.      my_pj.addPage(印刷したいSpriteインスタンス);
  5.     }
  6.     catch(e:Error) {
  7.         // handle error
  8.     }
  9.     my_pj.send();
  10. }

とします。

WindowsのFlashPlayerだと、この印刷したいSpriteインスタンスは、stage上にaddChildされていなくても印刷されるのですが、Macでは印刷されず(真っ白)。で、苦肉の策でstage上にこの「印刷したいSpriteインスタンス」をaddChildすると印刷できました。とは言え、あくまで印刷用に使用したいSpriteで、stage上には表示したくなかったので、「stage上に表示されない座標にaddChildする」 or 「stage上からでは見えない(深い)レイヤーにaddChildする」みたいな感じで対処しました(追記:visible=falseにしといても印刷されます)。

Mac OS のFlash PlayerだとaddChildされてないものは印刷できないよってのは、検索してもそれっぽい内容が見つからなかったのですが、ご存知の方いたら教えてください。

Tags: ,

Leave a Reply