0

无法将 flashvars 传递给 flex 生成的 swf

        import com.rubenswieringa.interactivemindmap.*;

        private var fullscreenListenerAdded:Boolean = false;

        private function onCreationComplete ():void {
            Controller.boot(this.springGraph, "assets/mindmap.xml");
            Security.allowDomain("dual99.com");
        }

        private function fullscreen (event:Event=null):void {
            if(!this.fullscreenListenerAdded){
                this.fullscreenListenerAdded = true;
                Application.application.stage.addEventListener(Event.FULLSCREEN, this.onFullscreen);
            }
            Application.application.stage.displayState = StageDisplayState.FULL_SCREEN;
        }

        private function onFullscreen (event:Event):void {
            this.fullscreenButton.visible = (Application.application.stage.displayState == StageDisplayState.NORMAL);
        }
        // Declare bindable properties in Application scope.
        [Bindable]
        public var myName:String;
        [Bindable]
        public var myHometown:String;

        // Assign values to new properties.
        private function initVars():void {
        myName = Application.application.parameters.myName;
        myHometown = Application.application.parameters.myHometown;
        }

    ]]>
</mx:Script>

这是在html中

<script type="text/javascript">
    // <![CDATA[

    var so = new SWFObject("flash.swf", "flasher", "100%", "100%", "9", "#FFFFFF");
    so.addParam("allowFullScreen", "true");
    so.addVariable("myName","samvirtual");
    so.addVariable("myHometown","canton");
    so.write("flashcontent");

    // ]]>
</script>
4

2 回答 2

2

我的猜测是你调用 initVars 太快了。尝试将其添加到创建完成处理程序中:

private function onCreationComplete ():void {
   Controller.boot(this.springGraph, "assets/mindmap.xml");
   Security.allowDomain("dual99.com");
   myName = Application.application.parameters.myName;
   myHometown = Application.application.parameters.myHometown;
}
于 2011-07-13T17:49:07.050 回答
0

尝试使用

private function initVars():void {        
  var paramObj:Object = LoaderInfo(root.loaderInfo).parameters;
  myName = paramObj.myName;
  myHometown = paramObj.myHometown;
}
于 2011-07-13T17:46:42.977 回答