我的一所老大学用 Flash 制作了这个精美的纸娃娃,我现在必须将其嵌入网页中。我可以用帽子、衬衫、鞋子等
来装扮纸娃娃。
每次选择纸娃娃旁边的项目时,FlashVars 参数都会更新。
例如,当按下“帽子”时,FlashVars 将发生以下情况。
hat0shoe0... ----> hat1shoe0...
这顶帽子会出现在我的纸娃娃上。
有没有办法让 FlashVars 出来?所以我可以在服务器端使用它吗?
我希望我能以某种方式将它附加到我的 FormCollection,而不是一些有趣的 JS/jquery :)
我希望你能帮助我,在此先感谢 :)
问问题
201 次
1 回答
1
动作脚本 3
要在 Actionscript 3 中获取 flash 变量,您可以执行以下操作:(未经测试的代码)
var myFlashVars:Object = LoaderInfo(this.root.loaderInfo).parameters;
//To get boolean (true/false) values
var hat:Boolean = String(myFlashVars["hat"]) == "1" ? true : false;
var shoe:Boolean = String(myFlashVars["shoe"]) == "1" ? true : false;
//or, To get strings ("0"/"1")
var hatStr:String = String(myFlashVars["hat"]);
var shoeStr:String = String(myFlashVars["shoe"]);
要通过 Flash/Actionscript 3 向服务器发送数据,可以使用 URLLoader + URLRequest:
var request:URLRequest = new URLRequest("http://yoursite.com/yourpage.php");
request.data = "hat=" + hatStr + "&shoe=" + shoeStr; //
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, callWasMade);
loader.addEventListener(IOErrorEvent.IO_ERROR, callFailedIOError);
loader.load(request);
function callWasMade(evt:Event):void{
//Data sent, if needed you can check server response via evt.target.data
}
function callFailedIOError(evt:IOErrorEvent):void {
//Holy crap I can't reach my server!
}
JavaScript
如果您想通过 JavaScript 访问 FlashVars 并且您正在使用:
swfobject.embedSWF(swfUrlStr,,,,,, **flashvarsObj**,,,)
正如文档中定义的那样
为什么不简单地对您的服务器进行 ajax 调用,传递您定义的 flashvarsObj。使用 jQuery,一般的想法是这样的:
$.ajax({
url: "yourserverpage.php",
data: flashvarsObj,
})
于 2012-02-28T15:31:39.013 回答