Flash是用AS3寫的

加入

import flash.external.*;

//如果下面這行會出現錯誤的話就放到隨便一個Function裡面

ExternalInterface.addCallback("welkin", welkin);

function welkin():void

{

       var mymy:TextField=new TextField();

       mymy.text="我是文字";

       addChild(mymy);

}   

如果要有回傳就改成string的return就好,要參數就改成可傳參數

 

然後在網頁部分,用swfobject嵌入這個Flash

<script type="text/javascript" src="/Scripts/swfobject.js">

<div id="FlashContent">我是Flash的位置</div>

<script type="text/javascript">

 var flashvars = {};

 flashvars.XMLPath = "/welkin.xml";

 var params = {};

 params.allowfullscreen = "true";

 params.allowscriptaccess = "always";

 var attributes = {};

 attributes.id = "welkin";

 swfobject.embedSWF("/welkin.swf", "FlashContent", "500", "350", "9.0.0", "/Scripts/expressInstall.swf", flashvars, params, attributes);

</script>

 

嵌入後就可以呼叫了

<script type="text/javascript">

  var myobj = swfobject.getObjectById("welkin");

  if (myobj)
{

  myobj.welkin();

}

//上面這樣呼叫後,在Flash就會出現一個文字叫做"我是文字"

</script>

 

結論:我如果自己寫一個<object></object>的嵌入Flash的標籤的話

都無法呼叫到Flash裡的函式

不知道為什麼用swfobject嵌入就可以呼叫=.=

welkingunther 發表在 痞客邦 PIXNET 留言(2) 人氣()


留言列表 (2)

發表留言
  • 吳如祐
  • 請問假如我是用
    var flashvars = {}
    var params = {}
    params.menu = "false"
    params.scale = "noscale"
    var attributes = {}
    attributes.id = "messageHere"
    swfobject.embedSWF("big.swf", "myAlternativeContent", "650", "700", "9.0.0", "expressInstall.swf", flashvars, params, attributes)

    我是要把messageHere改成什麼?? 我不懂這是要做什麼的

    可以請問我fuction該怎麼寫嗎

    function enter(){
    var swfobj=document.getElementById("messageHere")
    var c100=swfobj.p21x()
    alert(c100)

    我這樣寫他說無法定義swf
  • welkingunther
  • attributes.id = "messageHere"只是加一個id的屬性和值到Html的Tag上,

    你呼叫你的p21x()函式後就會直接跑ActionScript的內容

    應該無法在回傳物件給var c100吧...