안녕하세요? ChrisXP입니다. 흔히들 말들하는 페이지인식을 얘기하시네요. 뭐 용어라 갖다 붙이기 나름이니 페이지활성화도 말이 된다고 할 수 있겠습니다. 액션들을 쭉 훓어 봤습니다.
//mainNum = 1; //임시 지정 변수(선택된 메인메뉴) 이렇게 주석이 된부분이 눈에 띄는데요.. 이 부분을 풀게 되면 1번메뉴와 그의 서브 3메뉴가 정확히 활성화가 된상태로 시작되는게 맞다면 액션에서는(메뉴의 액션) 더 이상 손볼 필요는 없을것 같습니다.
이제 html에서 해당 페이지가 메뉴2의 서브3을 열리게 해야 하는 html이라면 그에 맞게 플래시로 값을 전달해주어야 할것 같습니다. 여러가지 방법이 있습니다. <object ..... <embed> .. </object>로 구성된 플래시 삽입 태그에 파라미터를 넘기는것도 하나의 벙법이겠죠.. 가장 쉬운 방법입니다.. 위 태그에 src를 지정하는곳이 두개 있습니다.
..생략.. <param name="movie" value="/swf/logo.swf" /> <embed src="/swf/logo.swf" ... ..생략...
위와 같이 object태그에 param속성 하나, embed속성입니다. 두가지다 쓰이게 됩니다.(브라우저에 따라서..) 이때 swf의 이름뒤에 GET방식으로 변수를 넣어줄 수 있습니다..
logo.swf?mainNum=1&subNum=3
위와 같이 해당 무비이름(swf명) 뒤에 값을 보내면 플래시에서 인식을 할 수 있습니다. 물론 저 값(mainNum, subNum)은 각 페이지마다 알맞은 값으로 변경이 되어야 하겠지요.
2번째는 자바스크립트를 이용한 방법입니다.. 요즘 제가 즐겨 쓰고 있는 방법인데요.. ExternalInterface를 통해서 html상호간의 데이터를 간편하게 주고 받을 수 있습니다..
JavaScript In HTML
<SCRIPT LANGUAGE="JavaScript">
<!-- function getMainIndex() { return 3; } function getSubIndex() { return 2; } //--> </SCRIPT>
이렇게 HTML안에 자바스크립트 함수를 선언하겠습니다. getMainIndex는 메인 메뉴에 대한 인덱스를 돌려줍니다.. 3을 돌려주네요.. 그리고 마찬가지로 getSubIndex는 2를 돌려주게 됩니다.. 쉽게 얘기해서 플래시에서 저 함수를 호출해서 값을 가져온다고 생각하시면됩니다.. ExternalInterface로 HTML <--> Flash가 가능하다는 얘기죠.
ActionScript
//ExternalInterface를 사용하기 위해서 임포트를 합니다..
import flash.external.ExternalInterface; mainNum = Number(ExternalInterface.call("getMainIndex")); subNum = Number(ExternalInterface.call("getSubIndex"))
위와 같은 코드로 값을 받아올수 있습니다.. |
근데 그래도 모르겠따..젠장..ㅡㅡ;