2013-10-02 2 views
0

안녕하세요 저는 플래시를 통해 시간 제한 퀴즈 게임을 진행하고 있으며 현재 사용자가 프레임에있는 콘텐츠를 인쇄 할 수 있도록 코드를 설정하려고합니다. (예 : 5 분 또는 20 일에 진행 상황을 인쇄하려는 경우 등). 인쇄 옵션 상자를 표시 할 수 있었지만 인쇄 확인을 클릭 할 때마다 공백이 나타납니다. 사용중인 코드는 다음과 같습니다.Actionscript 3을 사용하여 플래시로 현재 프레임 인쇄하기

print_btn.addEventListener(MouseEvent.CLICK, onPrintClick); 

function onPrintClick(event:Event):void{ 

    import flash.display.Sprite; 
    import flash.printing.PrintJob; 

    var printJob:PrintJob = new PrintJob(); 
    var mySprite:Sprite = new Sprite(); 

    if (!printJob.start()) { 
     return; 
     printJob.addPage(mySprite); 
     printJob.send(); 
    } 
} 

어떤 제안 사항이 있습니까?

답변

0

코드에 몇 가지 즉각적인 문제가 있다고 생각합니다. 다행히 그들을 밖으로 정렬하여 문제를 해결할 것입니다.

첫째, import 문을 코드 맨 위에 두어야합니다.

둘째, if(!printJob.start()) 당신은 인쇄 작업이 수행을 시작하지 않은 경우 말 printJob.addPage(mySprite) & printJob.send()가 호출되지는 결코 것을 의미한다이

.거야

셋째, 해당 Sprite 개체를 바로 new Sprite()에서 사용하는 경우에는 어쨌든 비어 있습니다. 붉은 색 사각형을 그린 다음 인쇄하십시오.

var mySprite:Sprite = new Sprite(); 
mySprite.graphics.beginFill(0xFF0000); 
mySprite.graphics.drawRect(0,0,100,100); 
mySprite.graphics.endFill(); 
// now print 

그게 도움이 되나요?

+0

답변 해 주셔서 감사합니다. – user2839791

+0

화면을 인쇄하려는 경우 printJob.addPage (stage); – Pulsar

0

답장 보내 주셔서 감사합니다.

그래, 내가 제안한 코드를 조정했다. 확실히 공백을 인쇄하는 문제를 해결했다. (이제 왼쪽 상단 구석에 빨간 상자가있다.) 그러나 나는 여전히 알아 내려고하고있다. 방법 인쇄에 스프라이트에 현재 프레임을 설정하기 때문에 .. 대신 빨간색 상자의 프레임 인쇄의 텍스트와 이미지의 모든

다음

내 업데이트 된 코드입니다 :

가져 오기 flash.display.Sprite;
import flash.printing.PrintJob;

print_btn.addEventListener (MouseEvent.CLICK, onPrintClick);
기능 onPrintClick (이벤트 : 이벤트) : 무효 {

var printJob:PrintJob = new PrintJob(); 
var mySprite:Sprite = new Sprite(); 
    mySprite.graphics.beginFill(0xFF0000); 
    mySprite.graphics.drawRect(0,0,100,100); 
    mySprite.graphics.endFill(); 

    printJob.start(); 
    printJob.addPage(mySprite); 
    printJob.send(); 

}

이 나를 미치게 만드는! 하하 .. 더 이상의 조언을 많이 부탁드립니다! ..

고마워!

관련 문제