幫一個(gè)朋友解決C++與flash交互問(wèn)題,才發(fā)現(xiàn),flash的通信機(jī)制做了一些修改了。
as2 as3腳本增強(qiáng)了flash與外界的交互方式,以前的fscommand機(jī)制現(xiàn)在似乎相形見(jiàn)絀了。當(dāng)然似乎只能flash player9以上支持。
調(diào)用外界函數(shù)通過(guò) ExternalInterface.call
外界調(diào)用as腳本通過(guò) ExternalInterface.addCallback 增加一個(gè)連接點(diǎn),回調(diào)as腳本(似乎as2比as3多一個(gè)參數(shù)??)
as調(diào)用外界函數(shù)由于都是符合as語(yǔ)法,所以調(diào)用ExternalInterface.call 無(wú)任何區(qū)別;主要是外界調(diào)用as腳本存在js和activex區(qū)別:
1、與js交互
flashShockWaveObj.FuncName(param1, param2, ..., param3)
flashShockWaveObj是flash控件對(duì)象
FuncName是addCallback 的第一個(gè)參數(shù)添加的調(diào)用函數(shù)
參數(shù)必須符合as腳本函數(shù)的參數(shù)
2、與activex交互
flashShockWaveObj.CallFunction("<invoke name=\"CheckMagicString\" returntype=\"xml\"><arguments><string> empty ?</string></arguments></invoke>")
參數(shù)必須以xml格式傳遞,name對(duì)應(yīng)的值是函數(shù)名,returntype="xml"是固定的,<arguments>節(jié)點(diǎn)里面存放的是參數(shù)列表,所有參數(shù)以 <類(lèi)型>值</類(lèi)型> 形式存在。
注意:需要發(fā)布到flash player9以上版本才可以(我測(cè)試了6和9,6不行,9可以)。
posted on 2008-12-05 14:49
萬(wàn)連文 閱讀(4566)
評(píng)論(5) 編輯 收藏 引用 所屬分類(lèi):
亂七八糟