자바스크립트에서 플래시 함수 호출

플래시가 놓여진 상태에서, 자바스크립트로 플래시 내부의 함수를 호출 하는 방법을 찾아보았다.

일단 html에서 자바스크립트 부분에

function OpenFlashAllMenu(){
	var movie = window.document.allMenu; //allMenu가 플래시 ID다.
	movie.SetVariable("javaFlash1",0.1);
}

이렇게 정의해준 후에,

플래시를 넣는 코딩안에다 아래와 같이 id를 넣어준다.

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="300" HEIGHT="200" id="allMenu" ALIGN="">

    <PARAM NAME=movie VALUE="JsToFlash.swf">
    <EMBED autostart="true" src="JsToFlash.swf" WIDTH="300" HEIGHT="200" name="allMenu" ALIGN=""></EMBED>
</OBJECT>


자! 이제 버튼을 만들어서 클릭하면 플래시 내부의 javaFlash1 함수를 실행하도록 해보자.

<img src="btn_allmenu.gif" onClick="OpenFlashAllMenu();"/>

이렇게 하면 이미지로 된 버튼이 그 페이지에 있는 ?OpenFlashAllMenu 함수를 호출하고,

OpenFlashAllMenu 함수는 플래시의 함수를 호출하게 하는 원리다.
이제 액션스크립트를 만져본다.
function startAllMenu(num:Number){
	TweenLite.to(allview2_all, num, {_x:-10, ease:Cubic.easeInOut});
}
//startAllMenu();
function endAllMenu(){
	ExternalInterface.call("showlayer",2);
}
_root.addProperty("javaFlash1", function(){}, startAllMenu);

난 위와 같이?javaFlash1 함수를 받으면 startAllMenu 함수를 실행하게 하였고,

변수로 받은 0.1이라는 스피드 값으로 tween이 이용되게 하였다.

응용한 원본은 http://globalhost.interdol.com/354 여기서 참고하였다.

TOP