我正在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 {
但是还没有能够得到这个或其他任何东西。我知道我可能只是在做一些完全错误的事情,但似乎无法找到一个有帮助的例子。
答案 0 :(得分:0)
你没有提到究竟出了什么问题,但我可以看到你的处理程序不正确试试这个:
function printMovieClip(e:MouseEvent):void
{
// put your print code here
}
您的事件处理程序应该接受MouseEvent,因为这是侦听器正在侦听的内容。
“我在让鼠标事件正常工作时遇到问题”相当模糊,因此包含错误是有帮助的,并且导致错误的行最少。