2014-10-03 4 views
1

플래시 애니메이션의 각 주요 섹션에 대한 png 파일 집합을 내보내는 JSFL 스크립트를 작성하고 있습니다. 이를 위해 Flash 파일의 Main.as 클래스에서 함수 및 변수에 액세스해야합니다. JSFL에 대한 문서는 그물에 매우 드문 것으로 이것이 가능할지를 나는 말할 수 없다. 나는 내가 Main.as 파일을 확장하고 파일을 내보낼 as3corelib의 PNGEncoder를 사용하여이 좀 더 투박한 방법을 수행 할 수 있습니다 알고JSFL을 통해 as3 함수 및 변수에 액세스 할 수 있습니까?

var docs = fl.documents; 

for(var i = 0; i < docs.length; i++) 
{ 
    //loop through everything and turn off compression for max quality 
    var libItems = docs[i].library.items; 
    for (j = 0; j < libItems.length; j++){ 
     if(libItems[j].itemType == "bitmap"){ 
     libItems[j].allowSmoothing = true; 
     libItems[j].compressionType = "lossless"; 
     } 
    } 
    //the variable adStages is an array of functions in the as3 class 
    //this way of trying to access the array doesn't work 
    for(k = 0; k<docs[i].adStages.length; k++){ 
     //here I need to run function adStages[k] to move the animation on 
     //to the next frame to capture 
     docs[i].exportPNG("file:///Users/Graeme/Desktop/"+ docs[i].name + k,true, true); 
    } 

} 

하지만이 방법은 더 우아한 될 수 작동하는지 느낌 : 여기에 내가 무엇을 가지고 그리고 각 프레임에 파일을 저장할 위치를 묻지 않아도됩니다.

+0

actionscript 속성이 있어야만 프레임에 문자열로 actionscript를 쓰거나 읽을 수 있지만 최신 버전에서는 제거되었습니다. 아직도 이것은 jsfl을 통해 가능하지 않은 wjat와는 거리가 멀었습니다. – BotMaster

+0

JSFL과 관련된 ExternalInterface에서 많은 스레드를 발견했습니다. 필자는 ExternalInterface를 사용하여 SWF의 함수를 호출 할 수 없습니다. 현재 섹션을 증가시키고 완료되면 false를 반환합니다. –

+1

다음 프레임으로 이동하기위한 JSFL 기능이 있습니다. 또한 Flash CC에는 기존 프레임 기반 애니메이션을 스프라이트로 내보내는 작업을 자동화하도록 설계된 코드가 있습니다. 당신이 원하는 것에 대해 더 구체적으로 표현할 수 있습니까? 귀하의 질문에 귀하가 기능에 액세스 할 필요가 있다고 말한 것은 아무것도 표시되지 않습니다. 귀하가 기능을 사용할 수는 있어도 실행할 수 없습니다. –

답변

0

swf 파일을 custom Flash IDE panel에 포함시킨 다음 외부 인터페이스를 통해 통신하거나 JSFL 코드를 AS3에서 MMExecute() 메소드를 통해 직접 호출 할 수 있습니다. 플랜트가 JSFL로 많은 작업을한다면 Keith Peter's book Extending FlashMX 2004을 읽는 것을 고려하십시오. 이 책은 낡았지만 여전히 훌륭하고 구식이 아닙니다.

관련 문제