Dynamic text vanishes on stage scale

Hi,

I have some dynamic text in an swf, that sits in an html doc, with the width & height set to 100%, in order to have the swf scale depending on screen size.

Everything works really well apart from a dynamic text field (which pulls in slide numbers) which disappears or reappears depending on the size of the window or when the window is resized.

Does anyone know why this would happen? Any help would be greatly received.

Apologies for the amount of code.

Small bit from interfaceLoad.as


public function sNum(sN):void {// Set and change Slide Number Text 
            var sNumTxt:textF = new textF();
            addChild(sNumTxt);
            intFrame.slideTxt.text = "Slide: "+(sN=sN+1);

        }

Rest of code from main.as


package courseClasses{
    import flash.text.*;
    import flash.display.MovieClip;
    import flash.display.DisplayObject;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.display.Stage;
    import flash.geom.Point;
    import flash.net.LocalConnection;
    import flash.filters.BitmapFilter;
    import flash.filters.BitmapFilterQuality;
    import flash.filters.DropShadowFilter;
    import flash.display.StageScaleMode;
    import flash.net.URLRequest;
    import flash.net.URLLoader;
    import flash.net.navigateToURL

    import com.yahoo.astra.fl.controls.Tree;
    import com.yahoo.astra.fl.controls.treeClasses.*;
    import com.yahoo.astra.fl.controls.treeClasses.TreeDataProvider;
    
    import courseClasses.bgLoad;
    //import courseClasses.footerNav;
    import courseClasses.SCORM;
    import courseClasses.interfaceLoad;
    import courseClasses.textF;
    import XMLloader.com.utils.XMLLoader;
    import gs.TweenLite;
    import gs.easing.*;
    import gs.plugins.*;

    public class mcMain extends MovieClip {
        TweenPlugin.activate([DropShadowFilterPlugin,GlowFilterPlugin]);

        private var modXMLLoader:XMLLoader;//XML Loading class
        private var bg:bgLoad;//bg Loader
        //private var test:footerNav;//footer nav bg
        private var footNav:bgLoad;//footer nav bg 2
        //private var medLogo:bgLoad;// Logo Loader
        private var reconLogo:bgLoad;//Logo Loader
        //private var mscbLogo:bgLoad;// MSCB Logo
        private var titleTxt:textF;//Main text for body & title
        private var extSwf:bgLoad;// External swf file
        private var nxtBtn:bgLoad;//Next Btn
        private var bckBtn:bgLoad;//Back Btn
        private var tmmWin:tmm;// Tell me more window access via interface load
        private var mState:Array;//is there More content for Tell me more drop down
        private var mImage1:Array;// Image 1 from XML more section
        private var mImage2:Array;// Image 2 from XML more section
        private var mImage3:Array;// Image 3 from XML more section
        private var mImage4:Array;// Image 3 from XML more section
        private var slideExt:Array;// is the slide external
        private var slideCount:Number;// What slide is the user at
        private var slideLength:Number;// How many slides
        private var extMc:Boolean;// swf or text from XML
        private var titleArray:Array;//Section titles
        private var treeXml:XML;// tree menu XML data
        private var intLoad:interfaceLoad;//Load right pane interface
        public var mcM_lc:LocalConnection;//Local connectionf for external SWF
        private var pbMove:Boolean;//Has the user gone back?
        var nv:notVisited;//nv Text
        /****Scorm Variables*****/
        public var lessonStatus:String;
        public var lmsConnected:Boolean;
        public var success:Boolean;
        public var scorm:SCORM;
        public var bookMark:String;
        /****Scorm Variables*****/    
        

        public function mcMain():void {
            nv = new notVisited();
            addChild(nv);
            nv.alpha=0;
            pbMove=true;
            /***Connect to external swf***/
            mcM_lc=new LocalConnection  ;
            mcM_lc.client=this;
            mcM_lc.connect("nextLoad");
            /**Connect to external swf***/
            scorm=new SCORM  ;

            lmsConnected=scorm.connect();
            if (lmsConnected) {
                //scorm.set("cmi.core.lesson_status", "complete");
                //scorm.set("cmi.suspend_data","10");
                //scorm.set("cmi.core.lesson_location","19");
                var bookmark:String=scorm.get("cmi.core.lesson_location");
                slideCount=Number(bookmark);

                modXMLLoader=new XMLLoader(["assets/XML/content.xml","assets/XML/treeMenu.xml"]);
                modXMLLoader.addEventListener(Event.COMPLETE,XMLLoaded);


            }
            
            
            
            //var test:footerNav = new footerNav();
            //addChild(test);                
            
            initStage();
                                    
            bg=new bgLoad  ;
            footNav=new bgLoad  ;
            //medLogo=new bgLoad  ;
            reconLogo=new bgLoad  ;
            //mscbLogo=new bgLoad  ;

            addChild(bg);
            addChild(footNav);
            //addChild(medLogo);
            addChild(reconLogo);
            //addChild(mscbLogo);

            footNav.bgLoading("assets/gui/footerNavBg.swf",16,687,100,950,1,1,"footNav",0,false);
            //medLogo.bgLoading("assets/gui/medwayLogo.swf",25,25,100,100,1,1,"medLogo",1,false);// "location",X,Y,BmpHeight,BmpWidth,scaleX,scaleY Set background properties
            reconLogo.bgLoading("assets/gui/reconstruct_logo_s.png",35,710,32,143,1,1,"reconLogo",1,false);
            //mscbLogo.bgLoading("assets/gui/mscb-logo.png",875,20,100,110,0.8,0.8,"mscbLogo",1,false);
            bg.bgLoading("assets/gui/bg.swf",11,17,this.stage.stageHeight,this.stage.stageWidth,1,1,"bgImage",0,false);

            reconLogo.addEventListener(MouseEvent.CLICK, gotoPage);        
            reconLogo.addEventListener(MouseEvent.ROLL_OVER, over);
            reconLogo.addEventListener(MouseEvent.ROLL_OUT, out);

            function gotoPage(event:MouseEvent):void
            {            
            var targetURL:URLRequest = new URLRequest("http://www.recon.co.uk/");                
            navigateToURL(targetURL);
            }        
            
            function over(event:MouseEvent):void
            {            
            buttonMode = true
            }        
            
            function out(event:MouseEvent):void
            {            
            buttonMode = false
            }        

        }
        
        private function initStage():void {            
            stage.scaleMode=StageScaleMode.SHOW_ALL;
            stage.addEventListener(Event.RESIZE, resizeHandler);
        }    
        
        private function resizeHandler(event:Event):void {
        
          bg.x = (bg.stage.stageWidth / 2) - (bg.width / 2);
          bg.y = (bg.stage.stageHeight / 2) - (bg.height / 2);
        }
        
        private function XMLLoaded(e:Event):void {

            var mArray:Array=new Array;//More Text
            var tTitle:String;
            mState=new Array  ;//More text content
            mImage1=new Array  ;//More image 1
            mImage2=new Array  ;//More image 2
            mImage3=new Array  ;//More image 3
            mImage4=new Array  ;//More image 4
            titleArray=new Array  ;
            slideExt=new Array  ;
            treeXml=modXMLLoader.getList[1];


            slideLength=modXMLLoader.getList[0].slide.length();// how many slides
            trace("this :" + slideLength);


            for (var i:Number=0; i < slideLength; i++) {
                titleArray*=modXMLLoader.getList[0].slide*.title.toString();
                mArray*=modXMLLoader.getList[0].slide*.more;
                mState*=modXMLLoader.getList[0].slide*.more.@content;
                mImage1*=modXMLLoader.getList[0].slide*.more.@image1;
                mImage2*=modXMLLoader.getList[0].slide*.more.@image2;
                mImage3*=modXMLLoader.getList[0].slide*.more.@image3;
                mImage4*=modXMLLoader.getList[0].slide*.more.@image4;
                slideExt*=modXMLLoader.getList[0].slide*.@external;

            }
            tTitle=modXMLLoader.getList[0].moreTitle;



            var titleTxt:textF=new textF;

            addChild(titleTxt);
            //titleTxt.textFnc(30,85,650,200,modXMLLoader.getList[0].course_title,18,"cTitle",0,1.4,"0x006BB6",false);//temp will get from xml    
            intLoad=new interfaceLoad  ;
            addChild(intLoad);//Load Right Interface

            intLoad.iLoad(859,221);//right menu position

            intLoad.tS=slideLength;
            trace(intLoad.tS + " my friend");
            intLoad.moreArray=mArray;//Assign more info to interface load
            intLoad.moreState=mState;//Assign more state to interface load
            intLoad.mImage1=mImage1;//Assign more image  to interface load
            intLoad.mImage2=mImage2;//Assign more image  to interface load
            intLoad.mImage3=mImage3;//Assign more image  to interface load
            intLoad.mImage4=mImage4;//Assign more image  to interface load
            intLoad.tmmTitle=tTitle;// Title for tell me more
            intLoad.treeXml=treeXml;//Assign Tree XML data
            intLoad.sN=slideCount;
            intLoad.bLoad();//Load I Buttons
            slideDisplay(slideCount);

            stage.addEventListener(Event.ENTER_FRAME,qNext);//Check qNav state

        }    
        
        /*************Send and receive scorm data to and from ext swf*************/
        public function rec():void {
            var susData:String = scorm.get("cmi.suspend_data");
            extSwf.screenMC.insert(susData);

        }
        public function sSend(sus:String):void {
            scorm.set("cmi.suspend_data",sus);
            scorm.save();
        }
        public function cSend(com:String):void {
            scorm.set("cmi.comments",com);
            scorm.save();
        }
        public function recCom():void {
            var comData:String = scorm.get("cmi.comments");
            extSwf.screenMC.insert(comData);
        }
        /*************Send and receive sscorm data to and from ext swf*************/
        private function slideDisplay(sN:Number):void {


            intLoad.sNum(sN);//Change external interface slide number 
            titleTxt=new textF  ;//Title Text field
            titleTxt.name="bodyText";

            var bodyTxt:textF=new textF;//Body Text field
            var cLength:Number=modXMLLoader.getList[0].slide.length();//Course Length

            addChild(titleTxt);
            addChild(bodyTxt);

            //title position
            switch (slideExt[sN].toString()) {
                case "true" ://External SWF, load .swf
                    titleTxt.textFnc(110,105,750,200,modXMLLoader.getList[0].slide[sN].title.toString(),20,"titleText",0,1,"0x00000",true);
                    extSwf=new bgLoad  ;
                    addChild(extSwf);
                    if (sN==6) {
                        extSwf.bgLoading2(modXMLLoader.getList[0].slide[sN].@path,30,140,100,100,1,1,"extSwf",0,true);
                    } else {
                        extSwf.bgLoading(modXMLLoader.getList[0].slide[sN].@path,30,140,100,100,1,1,"extSwf",0,true);
                    }
                    nvBtns(slideExt[sN]);
                    break;
                case "false" :// Text based load from XML
                    titleTxt.textFnc(110,105,750,200,modXMLLoader.getList[0].slide[sN].title.toString(),20,"lBegin",0,1,"0x00000",true);
                    titleTxt.textFnc(110,120,760,900,modXMLLoader.getList[0].slide[sN].content.toString(),18,"lBegin",0,2,"0x00000",true);
                    nvBtns(slideExt[sN]);
                    break;
            }
        }

        private function qNext(e:Event):void {
            if (intLoad.rState) {//If the reload button is pressed
                intLoad.rState=false;
                remove();

                slideDisplay(slideCount);
            }
            setChildIndex(intLoad,numChildren - 1);//Keep intLoad on top depth
            if (intLoad.bState) {//Check to see if aNav has been pressed;

                switch (extMc) {
                    case true :
                        intLoad.bState=false;
                        qProceed();
                        break;
                    case false :
                        remove();
                        intLoad.bState=false;
                        qProceed();
                        break;
                    default :
                        break;
                }
                function qProceed():void {
                    if (intLoad.frameNum < slideCount) {

                        slideDisplay(intLoad.frameNum);
                    } else if (intLoad.frameNum > slideCount) {
                        nv.x=677;///Warning messsage
                        nv.y=58;
                        setChildIndex(nv,numChildren-1);
                        TweenLite.to(nv,0.5,{alpha:1,ease:Linear.easeNone,overwrite:0});
                        TweenLite.to(nv,0.5,{alpha:0,delay:4,ease:Linear.easeNone,overwrite:0});
                        slideDisplay(slideCount);

                    } else {
                        slideDisplay(slideCount);
                    }
                }
            }
        }
        public function nextSwf():void {//Function called by external swf to trigger next button/load next slide

            nxtBtn.bgLoading("assets/gui/nextBtn.swf",875,710,35,67,1,1,"nxtBtn",1,false);

            nxtBtn.addEventListener(MouseEvent.MOUSE_DOWN,rExtSwf);
            nxtBtn.addEventListener(MouseEvent.MOUSE_OVER,bOver);
            nxtBtn.buttonMode=true;
            nxtBtn.scaleX=1;
            nxtBtn.scaleY=1;
            addChild(nxtBtn);
            function rExtSwf(e:MouseEvent):void {

                nxtBtn.removeEventListener(MouseEvent.MOUSE_DOWN,rExtSwf);
                nxtBtn.addEventListener(MouseEvent.MOUSE_OVER,bOver);
                nxtBtn.buttonMode=false;
                nxtBtn.scaleX=1;
                nxtBtn.scaleY=1;
                TweenLite.to(bckBtn,0.5,{alpha:0,ease:Linear.easeNone,overwrite:0});
                TweenLite.to(nxtBtn,0.5,{alpha:0,ease:Linear.easeNone,overwrite:0,onComplete:nextSl});

            }
        }
        private function nvBtns(ext:Boolean):void {//Navigation buttons
            nxtBtn=new bgLoad  ;
            addChild(nxtBtn);

            bckBtn=new bgLoad  ;
            addChild(bckBtn);
            nxtBtn.name="nxtBtn";
            bckBtn.name="bckBtn";

            if (slideCount > 0) {
                bckBtn.bgLoading("assets/gui/backBtn.swf",800,710,35,67,1,1,"bckBtn",4,false);
                bckBtn.addEventListener(MouseEvent.MOUSE_DOWN,btnEvt);
                bckBtn.addEventListener(MouseEvent.MOUSE_OVER,bOver);
                bckBtn.buttonMode=true;
                bckBtn.scaleX=1;
                bckBtn.scaleY=1;

            }
            if (slideExt[slideCount] == "false") {
                if (slideCount < slideLength - 1) {
                    nxtBtn.bgLoading("assets/gui/nextBtn.swf",875,710,35,67,1,1,"nxtBtn",4,false);
                    nxtBtn.addEventListener(MouseEvent.MOUSE_DOWN,btnEvt);
                    nxtBtn.addEventListener(MouseEvent.MOUSE_OVER,bOver);
                    nxtBtn.buttonMode=true;
                    nxtBtn.scaleX=1;
                    nxtBtn.scaleY=1;
                }
            }
            function btnEvt(e:MouseEvent):void {
                if (slideExt[slideCount] == "false") {
                    nxtBtn.removeEventListener(MouseEvent.MOUSE_DOWN,btnEvt);
                    nxtBtn.buttonMode=false;

                }
                bckBtn.removeEventListener(MouseEvent.MOUSE_DOWN,btnEvt);
                bckBtn.buttonMode=false;

                switch (e.target.name) {
                    case "nxtBtn" :
                        nextSl();
                        break;
                    case "bckBtn" :
                        prvSl();
                        break;
                }
            }
        }
        public function nextSl():void {//next slide
            remove();

            slideCount++;

            if (slideCount == slideLength) {//course complete?
                scorm.set("cmi.core.lesson_status","complete");
                scorm.save();
                scorm.disconnect();
            }
            
            scorm.set("cmi.core.lesson_location",String(slideCount));
            scorm.save();

            if (slideCount <16) {
                slideDisplay(slideCount);
            } else {
                slideDisplay(16);
            }
            if (pbMove) {
                //intLoad.progressBar(true,NaN);
            }
            pbMove=true;
        }
        private function prvSl():void {//previous slide
            remove();
            slideCount=slideCount - 1;
            slideDisplay(slideCount);
            pbMove=false;
        }
        private function remove():void {
            if (slideExt[slideCount] == "true") {
                removeChild(extSwf);
            }
            removeChild(titleTxt);
            removeChild(nxtBtn);
            removeChild(bckBtn);
            if (mState[slideCount] == true) {// if this slide has tell me more text
                intLoad.clsTmm();//remove
            }


        }
        private function bOver(e:MouseEvent):void {
            TweenLite.to(e.currentTarget,.5,{dropShadowFilter:{color:0xFFFFFF,alpha:0.7,blurX:5,blurY:5,distance:2},overwrite:0});
            e.currentTarget.addEventListener(MouseEvent.MOUSE_OUT,bOut);
            function bOut(e:MouseEvent):void {
                TweenLite.to(e.currentTarget,.5,{dropShadowFilter:{color:0xFFFFFF,alpha:0,blurX:0,blurY:0,distance:0},overwrite:0});

            }
        }
    }
}