2012-12-14 2 views
2

플래시에서 자바 스크립트로 텍스트 색상 및 직사각형 배경색을 가져오고 싶습니다. 무엇이 가장 좋은 방법입니까? 예를 들어, 플래시 무비가로드 될 때 나는 텍스트 색상과 사각형 배경 색상을 자바 스크립트로 보내려고합니다. 자바 스크립트는 html 텍스트 상자에이 색상을 표시합니다. 어떤 생각, 어떻게 이것을 할 수 있습니까?
감사
인 Ashish플래시 as3에서 텍스트 및 사각형 색상을 가져 오는 방법은 무엇입니까?

답변

1

당신은 당신이 가능한 콜백 당신을 추가해야 플래시 무비를 초기화에 ExternalInterface 클래스

액션

을 사용할 수 있습니다 필요. 이 경우에는 콜백이 필요하지 않으며 JS를 호출하면됩니다.

<object id="myflash1"> 
    <embed id="myflash2"> 
    </embed> 
</oject> 

나 :

<object id="myflash1"> 
    <object id="myflash2"> 
    </object> 
</oject> 
어쨌든 그것을 할 방법을 알고 그냥 어떻게 당신이 사용하는 경우, 내가

import flash.external.ExternalInterface; 

function init(){ 
    var jsready:Boolean = ExternalInterface.available; 
    if(jsready) { //checks if External callbacks can be made 
     sendColors();//send the colors when movie is initializing 
     try{ 
      //You add the callback, when JS calls getColors, actionscript will call sendColors() function 
      ExternalInterface.addCallback("getColors", sendColors);  
     } catch (error:SecurityError) { 
      trace("A SecurityError occurred: " + error.message + ""); 
     } catch (error:Error) { 
      trace("An Error occurred: " + error.message + ""); 
     } 
    } 
} 
function sendColors(){ 
    //send your colors to JS 
    ExternalInterface.call('receiveColorsFromFlash',color1,color2); 
} 

자바 스크립트

) 설명 할 것

코드에 플래시를 삽입하는 방법 여러 브라우저. 퍼가기 태그와 객체 태그의 글자가 이고 글자가이 아닌지 확인하십시오. 또는 예를 들어 firefox 브라우저의 두 번째 객체에 대한 호출이 수행되지 않습니다.

DOM에로드 된 올바른 플래시 객체를 항상 반환하는이 함수를 추가하면이 문제를 해결할 수 있습니다. 이것은 오래된 (5y 이전) 스 니펫이며 더 이상 작동하지 않을 수도 있고 JQuery 나 다른 솔루션을 사용할 수도 있습니다.

다른 방법으로 flashobject (SWFObject.js 또는 기타)를 포함하는 경우 jquery/getElementByid를 사용하여 하나의 객체를 대상으로 지정할 수 있습니다. 플래시가 호출

function thisMovie() { 
     if (navigator.appName.indexOf("Microsoft") != -1) { 
      return document.getElementById("myflash1"); 
     }else if (navigator.vendor.indexOf("Apple") != -1) { 
      return document.getElementById("myflash1"); 
     } else { 
      return document.getElementById("myflash2"); 
     } 
} 

JS 기능 : 그 설명은

function receiveColorsFromFlash(color1,color2) { 
    //do your thing with the colors 
} 

thisMovie().getColors(); 
+0

는 사실 내가 외부 인터페이스를 사용하는 방법을 알고 색상의 플래시를 묻는 JS 기능,하지만 덕분에 하지만 내 질문에 어떻게 자바 스크립트에서 플래시에서 색상 코드를 가져올 것입니다 .... 예를 들어 사각형을 만들고 녹색 색상을 제공합니다. 지금은이 사각형에서 사용하는 어떤 컬러 코드를 내 자바 스크립트 함수에 알려주고 싶습니다. –

+0

"플래시에서 자바 스크립트로 색상 코드를 가져 오는 방법"... 실제로 내 대답을 읽지 않았습니까? 플래시가 자바 스크립트에 뭔가를 말하게하려면 ExternalInterface를 사용해야합니다. – Timmetje