I didn't realize two things trying to get at flashvars in a non-timeline 
swf compiling with SDK.

1.      To get the LoaderInfo apparently you have to extend Sprite (er, 
i think)
2.      The root is not defined right away...  so I am doing a cheesy 
timer event because you can't add a listener to the loaderInfo

there's probably a better way... this seems quite hackish, i guess I 
could make it loop the timer object till it's defined etc.

P

package com.me.views
{
    import flash.display.Sprite;
    import flash.display.*;
    import com.me.data.PictureProvider;
    import flash.events.Event;
    import flash.display.LoaderInfo;
    import flash.events.TimerEvent;
    import flash.utils.Timer;
    
    public class AbstractSlideView extends Sprite
    {
    
    protected var _data:PictureProvider;
    
    public function AbstractSlideView() {
    var timer:Timer = new Timer(1000,1);
    timer.addEventListener(TimerEvent.TIMER, installVars);
    timer.start();
    }
    
    public function installVars(e:TimerEvent){
        
        var keyStr:String;
        var valueStr:String;
        trace (this.root);
        try {
        var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
        trace (paramObj.toString());
                for (keyStr in paramObj) {
                valueStr = String(paramObj[keyStr]);
                trace ("folderid="+String(paramObj["folderid"]))
                trace("\t" + keyStr + ":\t" + valueStr + "\n");
                trace ("folderid="+paramObj.folderid);
                }
        
            _data = new PictureProvider(paramObj);
            _data.addEventListener(Event.CHANGE,draw);
        
        }catch (error:Error){
        trace (error);

        }
    }
    
    
    
    protected function draw(event:Event):void{
    }
    
            
    }
}

Reply via email to