我设置了一个类,它看起来像这样:
package scripts
{
import flash.display.MovieClip;
import flash.display.Stage;
public dynamic class Upload
{
public function Upload()
{
}
public function getPostURL():String
{
return "test";
}
}
}我通过执行以下操作来实例化该类:
var upload = new Upload();
var url:String = upload.getPostURL();这可以很好地工作,我可以获得字符串,但是我如何修改类才能返回FlashVars呢?我已经找了好几个小时了,也没能找到答案。
我使用下面的代码来设置FlashVars:
<param name=FlashVars value="var=test" />发布于 2012-01-20 05:56:50
对于添加到舞台的任何实例,您可以使用以下代码:root.loaderInfo.parameters.var
更新
package scripts
{
import flash.display.Shape;
import flash.events.Event;
// If you want to use an Uplaod class like a container,
// then you should extend it from Sprite.
public dynamic class Upload extends Shape
{
protected var _url:String = "";
public function Upload()
{
super();
addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
}
protected function addedToStageHandler(event:Event):void
{
_url = root.loaderInfo.parameters.var;
}
public function getPostURL():String
{
return _url;
}
}
}在Main.as中
var upload = new Upload();
addChild(upload);
var url:String = upload.getPostURL();或另一个没有Upload类的变体。在Main.as中
var url:String = loaderInfo.parameters.var;发布于 2012-01-20 06:25:19
确保将您的FlashVars包括在<embed>的src参数中以及您使用的<param>标记中,例如:
<embed src="file.swf?var=test" />这些变量可以通过root.loaderInfo.parameters访问。
您可以阅读有关LoadInfo object here的更多信息。
https://stackoverflow.com/questions/8933732
复制相似问题