2013-04-21 94 views
0

我正在使用AS3和AIR進行演示,需要能夠打印單個幻燈片(最終可能是多張幻燈片)。我根本不是程序員。我在過去做了一些AS2,現在我要重新開始AS3。使用printJob時遇到MouseEvent問題

我開始使用此代碼:

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 { 

但一直沒能得到這個或其他任何工作。我知道我可能只是在做一些完全錯誤的事情,但似乎找不到有幫助的例子。

回答

0

你沒有提究竟出了什麼問題,但我可以看到的是,你的處理程序是不正確試試這個:

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

事件處理程序應該接受的MouseEvent,因爲這是監聽器正在傾聽。

「而且我有一個讓鼠標事件正常工作的問題」比較模糊,所以包含一個錯誤是有幫助的,並且是導致錯誤最少的那一行。