问题描述
|
我在Windows Forms应用程序中有一个“ 0”对象,并用“ 1”将(AS3)电影加载到其中。电影可以正常播放,但是从闪存获取变量时遇到问题。
我尝试使用
Getvariable
,但它总是返回一个空字符串。如何从Flash获取变量的值?
解决方法
我认为AVM2的新安全策略要求您使用ExternalInterface向容器应用程序显式公开变量/函数。
如果您无法编辑swf,我想不出一种方法来访问它们。不过,使用AS2真的很容易,如果您定义了它,则可以通过javascript / C#/获取和设置它,而无需在swf中添加任何代码。
, 您可以使用
fscommand
方法与Shockwave Player与C#进行对话:
fscommand(\"sendCmd\",arg);
在C#中获取价值
flashPlayer.FSCommand += new AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEventHandler(flashPlayer_FSCommand);
....
void flashPlayer_FSCommand(object sender,AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent e)
{
tbOut.Text += e.command + \" (\" + e.args + \")\" + \"\\r\\n\";
}