Skip navigation
Currently Being Moderated

Error #2099 - Help Needed

Oct 5, 2012 4:47 PM

Tags: #as3 #cs5.5 #action_script_3 #uiloader #error_#2099

Hello All,

This is my first post here at and I hope that I am posting in the right place.

I have been attending college and have been working out of a book "Adobe Flash CS5: The Professional Portfolio" by Against the Clock amd I seem to be running into trouble. Im on Project 8, which has a main "website" page and a "UILoader" that calls swf files from a directory within the project.

ALSO I am using CS5.5 Web Premium Programs.


Well this is the error:

Error: Error #2099: The loading object is not sufficiently loaded to provide this information.

    at flash.display::LoaderInfo/get loader()

    at fl.display::ProLoader/get realLoader()

    at fl.display::ProLoaderInfo()

    at fl.display::ProLoader()

    at fl.containers::UILoader/initLoader()

    at fl.containers::UILoader/load()

    at fl.containers::UILoader/set source()

    at seabreeze_fla::MainTimeline/__setProp_homeContent_Scene1_PageContents _0()

    at seabreeze_fla::MainTimeline/frame1()



and this is the main page UILoader Pointing to the Directory






home_btn.addEventListener(MouseEvent.MOUSE_UP, browse);

passes_btn.addEventListener(MouseEvent.MOUSE_UP, browse);

plan_btn.addEventListener(MouseEvent.MOUSE_UP, browse);

attractions_btn.addEventListener(MouseEvent.MOUSE_UP, browse);

group_btn.addEventListener(MouseEvent.MOUSE_UP, browse);

about_btn.addEventListener(MouseEvent.MOUSE_UP, browse);

guests_btn.addEventListener(MouseEvent.MOUSE_UP, browse);

join_btn.addEventListener(MouseEvent.MOUSE_UP, browse);

contact_btn.addEventListener(MouseEvent.MOUSE_UP, browse);

new_btn.addEventListener(MouseEvent.MOUSE_UP, browse);

specials_btn.addEventListener(MouseEvent.MOUSE_UP, browse);

calendar_btn.addEventListener(MouseEvent.MOUSE_UP, browse);

group2_btn.addEventListener(MouseEvent.MOUSE_UP, browse);

passes2_btn.addEventListener(MouseEvent.MOUSE_UP, browse);


function browse(event:MouseEvent):void {

    switch ( {

        case "home_btn" : gotoAndStop("home");


        case "passes_btn" : gotoAndStop("passes");

        PageHead.text = "Buy Passes Online";


        case "plan_btn" : gotoAndStop("plan");

        PageHead.text = "Plan Your Visit";


        case "attractions_btn" : gotoAndStop("attractions");

        PageHead.text = "Attractions";


        case "group_btn" : gotoAndStop("group");

        PageHead.text = "Group Sales";


        case "about_btn" : gotoAndStop("about");

        PageHead.text = "About the Park";


        case "guests_btn" : gotoAndStop("guests");

        PageHead.text = "Our Guests Say...";


        case "join_btn" : gotoAndStop("join");

        PageHead.text = "Join Club Seabreeze";


        case "contact_btn" : gotoAndStop("contact");

        PageHead.text = "Contact Us";


        case "new_btn" : gotoAndStop("new");

        PageHead.text = "What's New";


        case "specials_btn" : gotoAndStop("specials");

        PageHead.text = "Special Offers";


        case "calendar_btn" : gotoAndStop("calendar");

        PageHead.text = "Park Calendar";


        case "group2_btn" : gotoAndStop("group");

        PageHead.text = "Group Sales";


        case "passes2_btn" : gotoAndStop("passes");

        PageHead.text = "Buy Passes Online";




The Main Code^ was working and still is, but the UILoader seems to not be gathering the nessesary files.


This is where the main "seabreeze" file is located and the Children Folder that I am Calling files from.


I hope that I am not going over board with this, and I have recieved a good grade for this even with this error, but I would like to actully "understand" what is going on here.


Thanks in advance,

Aaron W.

  • Currently Being Moderated
    Oct 5, 2012 5:34 PM   in reply to whitt682

    What code are you using to load content into the UILoader?

    Mark as:
  • Currently Being Moderated
    Oct 6, 2012 5:05 AM   in reply to whitt682

    Using the component you can have it load content without code, but if you have a string of that same component working its way down the timeline in that layer you might have a problem getting the ones after the first to load their own content.  When you have the same objects in adjacent frames the latter ones will inherit the properties of the former ones, of which the source could well be one.  What you should do instead of what you appear to have done is just use one instance of the UILoader in that layer, give it an instance name, and in all the frames where the source changes, use code to assign the source property.


    But that is not likely to be related to the problem you have at the moment.  It seems as if the component has lost some of its brains, which can happen if you were to go into the library and remove stuff that the component needs to function properly... it is a tempting thing to do when you drag a component in and then see a bunch of extra stuff end up there that you don't think you need.


    You could try removing the current component altogether and then add a new one into the library by placing one on the stage again.

    Mark as:
  • Currently Being Moderated
    Oct 6, 2012 10:03 AM   in reply to whitt682

    I don't normally use components so I haven't much to offer in the way of helping when they seem to go bad.  What you might try instead of using the UILoader is to use the Loader class and have your content added via using code.



    // frame 1 code

    var ldr:Loader = new Loader();   // used "ldr", but could have named it whatever

    ldr.x = ?;                             // use the x location of the current UILoader for the ?

    ldr.y = ?;                             // use the y location of the current UILoader for the ?


    ldr.load(new URLRequest("Children/home.swf"));



    next section...


    // frame 5 code

    ldr.load(new URLRequest("Children/passes.swf"));



    Mark as:
  • Currently Being Moderated
    Oct 6, 2012 11:56 AM   in reply to whitt682

    A loader is a widthless/heightless entity without any content in it.  One thing you can do if you know the proportions of the content you will load is to use the scaleX/scaleY properties to scale the loader. 


    I am saying this with crossed fingers, but I am pretty sure if you scale the loader before it holds anything that scaling will work.  So you might want to just try the scaling instead if the content will allow for that approach.  You just can't adjust the width and height until the loader actually holds some content.


    If you want/need to adjust the width and height instead, then you need to wait until the loader content is loaded.  You can assign an Event.COMPLETE event listener to the contentLoaderInfo property of the Loader and use that to call a function that changes the width/height after the loading is complete.


    ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, adjustStuff);


    function adjustStuff(evt:Event):void {

         // file is loaded - make adjustments here


    Mark as:
  • Currently Being Moderated
    Oct 8, 2012 5:39 AM   in reply to whitt682

    You're welcome Aaron.  When it comes to learning and solving problems with Flash, the three tools I utilize most are the Flash Help documentation, Google, and trial and error.  If you learn how to make the most of the Help documentation you can often solve alot of the "Whys" that you come across.

    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points