다음은 Javascript를 사용하는 Flash와 HTML 파일 간의 직접 통신에 대한 몇 가지 예입니다. 각 예에는 간단한 단계가 있습니다. 이 문서에서는 Flash/Javascript 통신의 3가지 기본 방법에 대해 설명합니다. Javascript에서 Flash로 통신----사용 Flash Player의 javascript 방식 Flash to Javascript 통신----Flash의 fscommand 사용 Flash to Flash 통신------------로컬 연결 객체 사용 또는 위 2가지 기술을 결합 모든 브라우저가 스크립트를 중요하게 생각하는 것은 아닙니다. Flash Player와 통신하려면 Flash Player가 '수신'할 수 있도록 브라우저에 내장 후크가 있어야 합니다. Netscape Navigator. 3.0-4.7x 및 Netscape 6.2 이상 (Windows 95/98/NT/2000/XP 또는 MacOS, Java 및 LiveConnect 허용) Internet Explorer 3.0 이상 (Windows 95/98/NT /2000/XP만 허용됨) Javascript-Flash 통신 이 예에서는 Flash 메서드를 사용하는 방법을 보여줍니다. HTML 입력 텍스트의 변수를 페이지의 Flash 파일로 보냅니다. . HTML 입력 데이터는 Flash의 SetVariable 메서드를 통해 Flash 파일로 전송됩니다. 예제 보기: 소스 파일 다운로드: javascript_to_flash .zip(17k) 단계: Flash 1. 새 파일을 만들고 javascript_to_flash.fla로 저장합니다. 2. 텍스트 도구를 사용하여 스테이지에 텍스트 필드를 만듭니다. 3. 속성 패널의 드롭다운 목록에서 동적 텍스트를 선택하고 변수 열에 "myVar"를 입력합니다. 참고: 가장 좋은 습관은 Instance 를 사용하고 myVar.text 를 사용하여 myVar 값을 변경하는 것입니다. Flash4 및 Flash5와의 호환성을 위해 4. 파일 저장 5. HTML 파일 및 SWF 파일 게시 다음 작업 단계 물론 다른 HTML 편집기일 수도 있습니다 1. 이전 단계에서 게시한 HTML 파일을 엽니다 2. 생성된 SWF 파일과 OBJECT /EMBED 태그를 삽입합니다 (1) 삽입 >Media>Flash를 클릭하고 이 Flash를 선택하세요. (2) 코드 보기로 전환하고, 선택한 및 태그를 수정해야 합니다. (3) OBJECT 태그에 id="를 삽입하세요. myFlash" codebase="http://download.macromedia.com/pub/shockwave/cabs/ flash/swflash.cab#version=5,0,0,0" width=366 height=142 id="myFlash"> 참고: 붙여넣고 복사하는 경우 코드 측면에서 반드시 삭제하세요. 불필요한 줄바꿈이 발생하지 않으면 오류가 발생할 수 있습니다. 속성 패널에서 ID를 직접 입력할 수도 있습니다. (4) EMBED 태그에 name="myFlash" 및 swLiveConnect="true"를 삽입하여 id 속성이 다음과 같은지 확인하세요. 코드는 다음과 같아야 합니다: type="application/x-shockwave-flash"pluginspage= "http://www.macromedia.com/shockwave/download/index.cgi? P1_Prod_Version=ShockwaveFlash" name="myFlash" swLiveConnect="true"> 3. 양식 필드 생성 (1) 디자인 보기로 돌아가기 (2) 텍스트 필드 삽입(삽입> 양식 개체> 텍스트 필드) 양식 필드를 추가할지 묻는 메시지가 나타나면 예를 선택합니다. (3) 텍스트 필드의 HTML 태그를 다음과 같이 수정합니다. 텍스트 필드의 내용이 변경될 때마다 onChange가 트리거되고 doPassVar() 함수가 호출됩니다. 🎜> 4. 변수 값을 전달하는 Javascript 함수를 만듭니다. 태그에 다음 Javascript를 복사합니다. 5. 테스트(F12) Flash에서 Javascript로의 통신 HTML에서 Flash로 또는 그 반대로 데이터를 보낼 수 있습니다. 이 예에서는 Flash의 Fscommand를 사용하여 데이터를 HTML로 보내는 방법을 보여줍니다. Javascript. 예제 보기: 예 2 소스 파일 다운로드: flash_to_javascript.zip(10K) 간단한 단계: Flash에서 새 파일을 만들고 저장합니다. as flash_to_javascript.fla 텍스트 필드를 만들고 입력 텍스트로 설정한 다음 볼 수 있도록 "테두리"를 선택하고 해당 변수를 inputVar로 지정합니다. 버튼을 만들고 버튼에 다음과 같이 추가합니다. on(릴리스) { fscommand("send_var", inputVar) } 保存文件,导出HTML和SWF Dreamweaver中 1.打开导出HTML文件,修改和标签,结果同上: codebase="http://download.macromedia.com/pub/shockwave/cabs/ flash/swflash.cab#version=5,0,0,0" width=366 height=142 id="myFlash"> width=366 height=142 type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi? P1_Prod_Version=ShockwaveFlash" name="myFlash" swLiveConnect="true"> 2. 插入如下的Javascript到标签内: <script> <BR><!-- <BR>var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1; <BR>function myFlash_DoFSCommand(command, args) { <BR>var myFlashObj = InternetExplorer ? myFlash : document.myFlash; <BR>alert (args); <BR>} <BR>if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && <BR>navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) { <BR>document.write('<SCRIPT LANGUAGE=VBScript\> \n'); <BR>document.write('on error resume next \n'); <BR>document.write('Sub myFlash_FSCommand(ByVal command, ByVal args)\n'); <BR>document.write(' call myFlash_DoFSCommand(command, args)\n'); <BR>document.write('end sub\n'); <BR>document.write('</script>\> \n'); } //--> Flash和Flash的通信 通过上面两种方法的混和使用,同一HTML中两个或者更多的Flash直接可以相互传送消息. 从一个flash使用fscommand传送消息给Javascript,使用Flash的Javascript methods把消息传给另外一个flash 详细的看这里:Flash影片之间的通信示例 从Flash MX开始,local connection对象可以用来在flash之间传送消息. 这使得同一HTML中的或者位于两个浏览器窗口中的两个flash影片可以相互发送消息,而不必使用Javascript或者fscommand 详细的看这里:在Flash MX中使用local connection对象(英文) 本站的localConnection教程:http://www.blueidea.com/tech/multimedia/2003/739.asp 附可控制Flash Player的Javascript方法一览表: Play() ---------------------------------------- 播放动画 StopPlay()------------------------------------停止动画 IsPlaying()----------------------------------- 动画是否正在播放 GotoFrame(frame_number)---------------- 跳转到某帧 TotalFrames()------------------------------- 获取动画总帧数 CurrentFrame()------------------------------回传当前动画所在帧数-1 Rewind()-------------------------------------使动画返回第一帧 SetZoomRect(left,top,right,buttom)-------放大指定区域 Zoom(percent)------------------------------改变动画大小 Pan(x_position,y_position,unit)------------使动画在x,y方向上平移 PercentLoaded()----------------------------返回动画被载入的百分比 LoadMovie(level_number,path)----------- 加载动画 TGotoFrame(movie_clip,frame_number)- movie_clip跳转到指定帧数 TGotoLabel(movie_clip,label_name)------ movie_clip跳转到指定标签 TCurrentFrame(movie_clip)--------------- 回传movie_clip当前帧-1 TCurrentLabel(movie_clip)-----------------回传movie_clip当前标签 TPlay(movie_clip)---------------------------播放movie_clip TStopPlay(movie_clip)----------------------停止movie_clip的播放 GetVariable(variable_name)-----------------获取变量 SetVariable(variable_name,value)-----------变量赋值 TCallFrame(movie_clip,frame_number)---call指定帧上的action TCallLabel(movie_clip,label)----------------call指定标签上的action TGetProperty(movie_clip,property)--------获取movie_clip的指定属性 TSetProperty(movie_clip,property,number)-设置movie_clip的指定属性