js調用flash裏方法的簡單例子

flash裏的代碼如下:

import flash.external.*;
var mysound:Sound = new Sound();
var _method:String = "KeyDown";
var e_area:Object = this;
var method:Function = KeyDown;
var wasSuccessful:Boolean = ExternalInterface.addCallback(_method,e_area,method);
if(wasSuccessful) {
 result_txt.text = "函數註冊成功!!";
}
//
function KeyDown(clr:String) {
 if(clr=="48"||clr=="96") {
  mysound.attachSound("0");
  mysound.start();
  result_txt.text = 0;
 } else if (clr==49||clr==97)  {
  mysound.attachSound("1");
  mysound.start();
  result_txt.text = 1;
 } else if (clr==50||clr==98)  {
  mysound.attachSound("2");
  mysound.start();
  result_txt.text = 2;
 } else if (clr==51||clr==99)  {
  mysound.attachSound("3");
  mysound.start();
  result_txt.text = 3;
 } else if (clr==52||clr==100)  {
  mysound.attachSound("4");
  mysound.start();
  result_txt.text = 4;
 } else if (clr==53||clr==101)  {
  mysound.attachSound("5");
  mysound.start();
  result_txt.text = 5;
 } else if (clr==54||clr==102)  {
  mysound.attachSound("6");
  mysound.start();
  result_txt.text = 6;
 } else if (clr==55||clr==103)  {
  mysound.attachSound("7");
  mysound.start();
  result_txt.text = 7;
 } else if (clr==56||clr==104)  {
  mysound.attachSound("8");
  mysound.start();
  result_txt.text = 8;
 } else if (clr==57||clr==105)  {
  mysound.attachSound("9");
  mysound.start();
  result_txt.text = 9;
 }else{
  result_txt.text = txt;
 }
}
ExternalInterface.addCallback("KeyDown", this, KeyDown);

 

html裏的代碼如下:

<html>
<head>
<title>
<script language=JavaScript>
var me; //代表swf的id
//獲取正確的引用
function getID(test) {
   if (navigator.appName.indexOf("Microsoft") > -1) {
      me = window[test];
   } else {
      me = document[test];
   }
}
</script>
</title>
</head>
<body>
<!-- 引入flash -->
<object type="application/x-shockwave-flash" data="duyin1.swf" width="525" height="390" name="test" id="test">
      <param name="allowScriptAccess" value="sameDomain" />
      <param name="movie" value="duyin1.swf" />
      <param name="quality" value="high" />
      <param name="scale" value="noScale" />
      <param name="wmode" value="transparent" />
   <embed src="duyin1.swf" quality="high" bgcolor="#ffffff" width="400" height="300" name="external1" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

<div>
<form>
<input type="text" onkeypress="callExternalInterface(event.keyCode);" />
</form>
<script>
function callExternalInterface(tt) {
//調用flash裏的方法
thisMovie("test").KeyDown(tt);
}
//瀏覽器兼容訪問DOM
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName]
}
else {
return document[movieName]
}
}
</script>
</div>
</body>
</html>

 

提供源碼下載:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章