플래시가 놓여진 상태에서, 자바스크립트로 플래시 내부의 함수를 호출 하는 방법을 찾아보았다.
일단 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 여기서 참고하였다.