DepthManager

I encountered the problem with getNextHighestDepth()
returning invalid depths when a 2.0 Component is present. The Flash
documentation was clear that if a 2.0 Component is present then
depths should be managed with DepthManager. So I tried to find some
info on this class. Here are some observations:
1) The Flash documentation is very thin on exactly how the
DepthManager is to be used, and especially how it replaces the
attachMovie command. Several people have asked about it on this
forum and one person seems to have found an answer. Karma-lab
wrote:
If you used to do something like:
someClip.attachMovie("DynamicLoadScreen", "loadscreen_mc",
someClip.getNextHighestDepth());
Now do:
import mx.managers.DepthManager; // at the beginning of your
AS
someClip.loadscreen_mc =
someClip.createChildAtDepth("DynamicLoadScreen",
DepthManager.kTop);
Disposing it works thesame as previously.
2) Someone who opens up a new Fla, in order to try this out
might get confused when this code doesn’t attach anything
(even if changing the linkage argument to something they have). The
reason is that the library has to contain an arbitrary 2.0
Component for it to work. The docs are unclear on this. It says
that 2.0 Components should be managed with DepthManager, but not
that a 2.0 Component has to be in the library for DepthManager to
work at all. One person has wrote on this subject lamenting that
having to put an arbitrary Component (like a Button) in the library
seems to make it impossible to make really small “lite
weight” Flashes that use DepthManager.
3) Some tests i made showed that getNextHighestDepth() worked
fine, when it was called from another clip than _root / _level0,
even when a 2.0 Component was in the library, and even when an
instance of it was present in the clip! Is it safe to conclude that
the problem with getNextHighestDepth() only occurs in _root?
4) All this might be solved in AS 3.0?

problems with depths should be expected on every timeline
that contains a 2.0 component.

Similar Messages

  • Using DepthManager with createEmptyMovieClip

    The AS Language Reference tells me to use DepthManager rather
    than MovieClip.getNextHighestDepth() when using version 2
    components. But the two seem to operate so differently that I can't
    see how to replace one with the other in cases like this:
    this.createEmptyMovieClip("container",
    this.getNextHighestDepth());
    It seems that DepthManager references the mc whose depth is
    to be set whereas getNextHighestDepth references its parent eg.
    container.setDepthTo(DepthManager.kTop);
    So what should replace this.getNextHighestDepth() in
    createEmptyMovieClip?

    I'm afraid your solution does not work although it seems to
    have been the official line for some time! The attached code
    demonstrates the problem and a workaround.
    While not in the conspiracy of silence category this does
    seem to have been a long term blind spot. The Flash 8 LiveDocs for
    createEmptyMovieClip() has an entry in September 2006 highlighting
    the problem but it was not acknowledged.
    The difficulty is quite obvious: createEmptyMovieClip() and
    other methods like it require a number to be supplied for the
    depth. The method getNextHighestDepth() returns a number, albeit a
    flaky one in the presence of version 2 components. DepthManager
    does not return a number. Instead it does exactly what it says in
    the documentation; mc.setDepthTo(DepthManager.kTop) sets the depth
    of mc to 20 places above the currently highest occupied depth.
    DepthManager is a method of the target mc whereas
    getNextHighestDepth() is a method of mc's parent. You can't invoke
    a method of movieclip that hasn't been created yet.
    So there is no way that DepthManager can be used as a simple
    replacement for getNextHighestDepth() and it seems quite cynical
    that the documentation is sprinkled with recommendations to do just
    that without any explanation or example of how it can be done. The
    DepthManager documentation is particularly short on code examples
    compared with other areas.

  • Is it possible to load .swfs on top of scrollpane

    I have a scrollpane that links to a movie clip in my library
    that holds about 40 buttons. I'm using the scrollpane since the
    layout doesn't have enough room to show them all at once. This way
    the user can scroll down to see all the names. These buttons have
    the names of various articles on them. Upon clicking on an article
    a flashpaper .swf file of that article is loaded. Right now the
    article is loading into my scrollpane and seems to be kicking out
    the movie clip that contains the buttons. Upon closing out the
    flashpaper article the buttons return and work fine. The only issue
    I have with this is that if the user scrolls down, clicks on an
    article and then closes it out, the buttons reappear, but they are
    back at the top. The user would then need to scroll back down to
    where they were if there were wanting to click on the next article
    in line. Not a big deal, but it gets kina annoying after a while.
    I'd like to figure out a way for the flashpaper articles to load on
    top of the scroll pane so that when the user closes the flashpaper
    article the links below are where they left off. So far no matter
    what I try the flashpapers keep loading inside the scroll pane.
    Here is the code I'm using as applied to one of the 40 buttons:
    on (release) {
    _parent.loadMovie("MM/flashpaper/art2_120106_prev_injuries_unint.swf",
    1);
    art2_120106_prev_injuries_unint.swf is the name of the
    flashpaper article being loaded.
    -I've tried changing the level number and that doesn't work
    -I've tried creating an empty movie clip in a layer above the
    buttons and that doesn't work:
    on (release) {
    _parent.loadMovie("MM/flashpaper/art2_120106_prev_injuries_unint.swf",
    "artMC");
    ("artMC" is the empty movie clip)
    -I've tride creating an empty movie clip in the main timeline
    above the scrollpane and that doesn't work either
    any thoughts on how I should handle this?
    thanks

    import mx.managers.DepthManager;
    movieclipyouwantontop.setDepthAbove(movieclipyouwantonbottom);
    use the creatEmptyMovieClip method you tried before then
    place it into what i gave

  • Thumbnails enlarge when hovered over

    Hi all,
    I'm trying to create an archive page for the past issues of a
    newsletter. I've tried creating one with CSS, which looks fine in
    Firefox but tweaks out in IE6. So I'm trying to create an archive
    page using Flash. I'd like to create a page similar to the AIGA
    Design Archives page:
    http://designarchives.aiga.org/
    First, I'm having difficulting with the image gallery itself
    - making the thumbnails zoom out when the mouse hovers. Then on top
    of that, how would I enable the text/information/lightbox to appear
    after the thumbnail (the green box)? It seems like a lot of
    advanced Flash scripting is taking place, and the images are being
    called from a database or XML file? I would eventually like to
    accomplish this part as well, but initially if anyone can help me
    get the image gallery started that would be very helpful.
    I wasn't able to find any tutorials regarding the enlarging
    of a thumbnail gallery, but I've found plenty of other image
    scrolling, XML photo galleries.
    Any help would be appreciated.
    Thanks

    Have a look at the Lee Brimlow carousel 3 tutorial concepts
    ie xml and tootip.
    at
    http://www.gotoandlearn.com/download.php.
    As for making the thumbnails zoom in and out I have a small example
    using mosesSupposes.fuse librarys
    to make things easy. Im not sure how to attach an fla here
    but I will paste the action script below.
    import mx.managers.DepthManager;
    import com.mosesSupposes.fuse.*;
    ZigoEngine.simpleSetup( Shortcuts , PennerEasing );
    var home:MovieClip = this;
    var xpos:Number = 150;
    var ypos:Number = 100;
    var boxwidth:Number = 120;
    for(var i=0;i<3;i++)
    var t = home.attachMovie("box","box"+i,i+1);
    t._x = xpos +(boxwidth * i);
    t._y = ypos;
    t.box.loadMovie("hannah.jpg");
    t.onRollOver = over;
    t.onRollOut = out;
    function over()
    this.setDepthTo(DepthManager.kTop);
    this.scaleTo(120,1,"easeOutBounce");
    function out()
    this.scaleTo(100, 1, "easeOutBounce");
    if you want the fla please contact me directly.
    Steve

  • Depth Manager

    Hello everyone. Here is a simple package with DepthManager, the question is in performance of it.
    1) Create .fla AS3, size = 600x400, grey background.
    2) Create in library a MovieClip, named THING, linkage = THING, and open it. Draw a 15-corner star in the centre of it. Fill by standart from-black-to-white linear gradient.
    3) Set the name MAIN as main class of the document (don't forget save them all in one directory), open it, and paste there this code:
    package 
           import flash.display.MovieClip;
              import flash.events.Event;
              import flash.events.MouseEvent;
              public class MAIN extends MovieClip
                       public var array_THINGS:Array = new Array();
                       public function MAIN()
                                  var tmp_thing:MovieClip;
                                  //BECAUSE I'M NOT GOING TO REMOVE THIS, I CAN USE ANONYMOUS FUNCTION
                                  stage.addEventListener(MouseEvent.MOUSE_UP, function()
                                            //WE WILL CREATE SOME THINGS TO DISPLAY
                                            for(var i = 1; i <= 100; i++)
                                                      tmp_thing = new THING();
                                                      tmp_thing.x = Math.random() * 600;
                                                      tmp_thing.y = Math.random() * 400;
                                                      //LETS MAKE IT EASIER FOR PLAYER BY SETTING cacheAsBitmap TO true
                                                      tmp_thing.cacheAsBitmap = true;
                                                      addChild(tmp_thing);
                                                      array_THINGS.push({INSTANCE:tmp_thing});
                                  stage.addEventListener(Event.ENTER_FRAME, function()
                                            ENTER_FRAME_1(); //USING DepthMan
                                            //ENTER_FRAME_2(); //NOT USING DepthMan
                                           //MAKE ONE OF THOSE FUNCTIONS IN // TO SEE THE DEFFERENCE IN FRAMERATE
                        private function ARRAY_THINGS_GET_POS_OF_OBJECT(element:*, index:int, arr:Array)
                                  var thing_x = MovieClip(element.INSTANCE).x;
                                  var thing_y = MovieClip(element.INSTANCE).y;
                                  return {INSTANCE:element.INSTANCE, X:thing_x, Y:thing_y};
                        private function ENTER_FRAME_1()
                                  var array_DETAILED_THINGS:Array = array_THINGS.map(ARRAY_THINGS_GET_POS_OF_OBJECT);
                                  array_DETAILED_THINGS.sortOn(["Y", "X"], [Array.NUMERIC, Array.NUMERIC | Array.DESCENDING]);
                                  for(var i in array_DETAILED_THINGS)
                                            var tmp_mc:MovieClip = MovieClip(array_DETAILED_THINGS[i].INSTANCE);
                                            tmp_mc.rotation += 7;
                                            tmp_mc.parent.setChildIndex(tmp_mc, i);
                        private function ENTER_FRAME_2()
                                  for(var i in array_THINGS)
                                            var tmp_mc:MovieClip = MovieClip(array_THINGS[i].INSTANCE);
                                            tmp_mc.rotation += 7;
    We click stage = we create 100 stars, each is rotated every frame.
    Each frame the function ARRAY_THINGS_GET_POS_OF_OBJECT gets the position of the INSTANCE (it's a simple example, imagine that things may move, so the constant position will not suite).
    Then things are sorted and reindexed.
    Code works.
    The main problem is:
    With the ENTER_FRAME_1() turned ON (and ENTER_FRAME_2() turned off, ofcourse), the framerate is much lower, when 300 things (3 clicks) and more on the stage. We don't have so big decline, not using DepthManager (ENTER_FRAME_1() turned OFF and ENTER_FRAME_2() turned ON). And I don't even mention, that a star has not much dots to draw. So the problem is in setting indexes, or may be even in Array.map().
    The tip is:
    There is a way to use swapDepths, adding an EnterFrame function to each thing, which will "understand", if the thing is higher or lower(.y) from its neighbours, whose depths +1, -1. So it will be one check but by each star... 
    The question is:
    Will it work faster? Or there is another way to make all this RUN?)

    I have actually had a chance to play around with it now
    and with 400 stars my ENTER_FRAME_1() runs at 10 fps and so does ENTER_FRAME2()
    I am using
    package
              import flash.display.MovieClip;
              import flash.events.Event;
              import flash.events.MouseEvent;
              public class MAIN extends MovieClip
                        public var array_THINGS:Array = new Array();
                        private var stats:Stats = new Stats();
                        public function MAIN()
                                  stage.addEventListener(MouseEvent.CLICK, mouseUpHandler);
                                  stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
                        private function mouseUpHandler(e:MouseEvent):void
                                  var tmp_thing:THING;
                                  //WE WILL CREATE SOME THINGS TO DISPLAY
                                  for (var i = 1; i <= 100; i++)
                                            tmp_thing = new THING();
                                            tmp_thing.x = Math.random() * 600;
                                            tmp_thing.y = Math.random() * 400;
                                            //LETS MAKE IT EASIER FOR PLAYER BY SETTING cacheAsBitmap TO true
                                            tmp_thing.cacheAsBitmap = true;
                                            addChild(tmp_thing);
                                            array_THINGS.push(tmp_thing);
                                  array_THINGS.sortOn(["y", "x"], Array.NUMERIC | Array.DESCENDING);
                                  for (var j in array_THINGS)
                                            var tmp_mc:THING = THING(array_THINGS[j]);
                                            tmp_mc.parent.setChildIndex(tmp_mc, j);
                                  addChild(stats);
                        private function enterFrameHandler(e:Event):void
                                  ENTER_FRAME_1(); //USING DepthMan
                                  //ENTER_FRAME_2(); //NOT USING DepthMan
                                  //MAKE ONE OF THOSE FUNCTIONS IN // TO SEE THE DEFFERENCE IN FRAMERATE
                        private function ENTER_FRAME_1()
                                  for (var i in array_THINGS)
                                            var tmp_mc:THING = THING(array_THINGS[i]);
                                            tmp_mc.rotation += 7;
                        private function ENTER_FRAME_2()
                                  for (var i in array_THINGS)
                                            var tmp_mc:THING = THING(array_THINGS[i]);
                                            tmp_mc.rotation += 7;
    and a copy of MrDoobs stats class
    * stats.as
    * https://github.com/mrdoob/Hi-ReS-Stats
    * Released under MIT license:
    * http://www.opensource.org/licenses/mit-license.php
    * How to use:
    *          addChild( new Stats() );
    package {
              import flash.display.BitmapData;
              import flash.display.Sprite;
              import flash.events.Event;
              import flash.events.MouseEvent;
              import flash.geom.Matrix;
              import flash.geom.Rectangle;
              import flash.system.System;
              import flash.text.StyleSheet;
              import flash.text.TextField;
              import flash.utils.getTimer;
              public class Stats extends Sprite {
                        protected const WIDTH : uint = 70;
                        protected const HEIGHT : uint = 100;
                        protected var xml : XML;
                        protected var text : TextField;
                        protected var style : StyleSheet;
                        protected var timer : uint;
                        protected var fps : uint;
                        protected var ms : uint;
                        protected var ms_prev : uint;
                        protected var mem : Number;
                        protected var mem_max : Number;
                        protected var graph : BitmapData;
                        protected var rectangle : Rectangle;
                        protected var fps_graph : uint;
                        protected var mem_graph : uint;
                        protected var mem_max_graph : uint;
                        protected var colors : Colors = new Colors();
                         * <b>Stats</b> FPS, MS and MEM, all in one.
                        public function Stats() : void {
                                  mem_max = 0;
                                  xml = <xml><fps>FPS:</fps><ms>MS:</ms><mem>MEM:</mem><memMax>MAX:</memMax></xml>;
                                  style = new StyleSheet();
                                  style.setStyle('xml', {fontSize:'9px', fontFamily:'_sans', leading:'-2px'});
                                  style.setStyle('fps', {color: hex2css(colors.fps)});
                                  style.setStyle('ms', {color: hex2css(colors.ms)});
                                  style.setStyle('mem', {color: hex2css(colors.mem)});
                                  style.setStyle('memMax', {color: hex2css(colors.memmax)});
                                  text = new TextField();
                                  text.width = WIDTH;
                                  text.height = 50;
                                  text.styleSheet = style;
                                  text.condenseWhite = true;
                                  text.selectable = false;
                                  text.mouseEnabled = false;
                                  rectangle = new Rectangle(WIDTH - 1, 0, 1, HEIGHT - 50);
                                  addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
                                  addEventListener(Event.REMOVED_FROM_STAGE, destroy, false, 0, true);
                        private function init(e : Event) : void {
                                  graphics.beginFill(colors.bg);
                                  graphics.drawRect(0, 0, WIDTH, HEIGHT);
                                  graphics.endFill();
                                  addChild(text);
                                  graph = new BitmapData(WIDTH, HEIGHT - 50, false, colors.bg);
                                  graphics.beginBitmapFill(graph, new Matrix(1, 0, 0, 1, 0, 50));
                                  graphics.drawRect(0, 50, WIDTH, HEIGHT - 50);
                                  addEventListener(MouseEvent.CLICK, onClick);
                                  addEventListener(Event.ENTER_FRAME, update);
                        private function destroy(e : Event) : void {
                                  graphics.clear();
                                  while(numChildren > 0)
                                            removeChildAt(0);
                                  graph.dispose();
                                  removeEventListener(MouseEvent.CLICK, onClick);
                                  removeEventListener(Event.ENTER_FRAME, update);
                        private function update(e : Event) : void {
                                  timer = getTimer();
                                  if( timer - 1000 > ms_prev ) {
                                            ms_prev = timer;
                                            mem = Number((System.totalMemory * 0.000000954).toFixed(3));
                                            mem_max = mem_max > mem ? mem_max : mem;
                                            fps_graph = Math.min(graph.height, ( fps / stage.frameRate ) * graph.height);
                                            mem_graph = Math.min(graph.height, Math.sqrt(Math.sqrt(mem * 5000))) - 2;
                                            mem_max_graph = Math.min(graph.height, Math.sqrt(Math.sqrt(mem_max * 5000))) - 2;
                                            graph.scroll(-1, 0);
                                            graph.fillRect(rectangle, colors.bg);
                                            graph.setPixel(graph.width - 1, graph.height - fps_graph, colors.fps);
                                            graph.setPixel(graph.width - 1, graph.height - ( ( timer - ms ) >> 1 ), colors.ms);
                                            graph.setPixel(graph.width - 1, graph.height - mem_graph, colors.mem);
                                            graph.setPixel(graph.width - 1, graph.height - mem_max_graph, colors.memmax);
                                            xml.fps = "FPS: " + fps + " / " + stage.frameRate;
                                            xml.mem = "MEM: " + mem;
                                            xml.memMax = "MAX: " + mem_max;
                                            fps = 0;
                                  fps++;
                                  xml.ms = "MS: " + (timer - ms);
                                  ms = timer;
                                  text.htmlText = xml;
                        private function onClick(e : MouseEvent) : void {
                                  mouseY / height > .5 ? stage.frameRate-- : stage.frameRate++;
                                  xml.fps = "FPS: " + fps + " / " + stage.frameRate; 
                                  text.htmlText = xml;
                        // .. Utils
                        private function hex2css( color : int ) : String {
                                  return "#" + color.toString(16);
    class Colors {
              public var bg : uint = 0x000033;
              public var fps : uint = 0xffff00;
              public var ms : uint = 0x00ff00;
              public var mem : uint = 0x00ffff;
              public var memmax : uint = 0xff0070;

  • Assigning a class to symbols

    I'm just getting the hang of creating my own classes and
    linking them to a symbol. But I've found that the resulting
    instance has an undefined depth and doesn't respond to .swapDepth()
    or .setDepthTo(). I've reduced the problem down to a very simple
    demo situation. This is my class file, DemoClass.as:
    class DemoClass{
    public function DemoClass() {
    trace("DemoClass: this = "+this);
    This is my test file which has a symbol "demoClass" in the
    library:
    import mx.managers.DepthManager;
    demo_mc = this.attachMovie("demoClass_id","demoMC",1);
    trace("demo_mc.getDepth(): "+demo_mc.getDepth());
    demo_mc.setDepthTo(DepthManager.kTop);
    trace("demo_mc.getDepth(): "+demo_mc.getDepth());
    When the symbol has NO link to DemoClass, the output is:
    demo_mc.getDepth(): 1
    demo_mc.getDepth(): 21
    When the symbol is linked the output is:
    DemoClass: this = _level0.demoMC
    demo_mc.getDepth(): undefined
    demo_mc.getDepth(): undefined
    Is this what you'd expect or have I made an error
    somewhere?

    your DemoClass is not extending the MovieClip class and so
    you're creating a DemoClass object that has no getDepth() (nor any
    other movieclip method/property).

  • [AS 2.0] Problem with removeMovieClip+setInterval

    For this movie, I'm showing a grid of symbols that appear,
    pause, then fade, so I can have people try to identify them quickly
    (for a psych experiment). I have a "Grid" that all of these
    "GridSymbols" are children of (currently using the DepthManager,
    but I'm pretty sure I had the same problem when I used
    getNextHighestDepth).
    I'm using a timer (via setInterval) to be able to dynamically
    set a time for a movie to remain visible on the screen (there is a
    5 frame fade-in, then a setInterval timer on a stop() frame that
    after the time jumps to the fadeout frame). This works great until
    I need to remove all of the currently visible movies to progress to
    a new part of the task that I am creating. The offending code looks
    like this (on frame 6, after the fade):
    stop();
    this.delayAmount = setInterval(goToFade,
    _root.SymbolVisible);
    function goToFade()
    gotoAndPlay("fadeout_frm");
    clearInterval(delayAmount);
    The problem occurs when I remove the Grid (thus removing all
    of the GridSymbols). If however I remove the delayAmount interval
    and simply insert 10 static frames from 6 - 15 the program works
    fine, so I feel confident that it has to do with the interval
    (perhaps maturing after the movie has been removed and then looking
    for the appropriate frame to jump to). Anyone have any idea how to
    fix this? Or perhaps an alternate method of accomplishing the same
    goal?
    Thanks!

    Ok, I've got a solution, though it might not be pretty. I'm
    creating an array to hold the symbol instance names of all of the
    movies that have the internal intervals running:
    symbolIDArray[hPos+vPos*Horiz] =
    CurrentGrid.createChildAtDepth("grid_symbol", DepthManager.kTop);
    Then, when I need to delete, I run this quick loop:
    for (i = 0; i < symbolIDArray.length; i++)
    clearInterval(symbolIDArray
    .delayAmount);
    Once the loop has finished, the movies can be removed
    without problem. :)

  • Setting the text in label components

    Please help with the following very simple code. I have done
    everything I am supposed to do according to the in-program help,
    the Flash 8 Actionscript bible and every other source I can find
    online, yet the following code will not generate a simple label
    component. I've checked to insure it is not placed too far in any
    direction and even played around with its styles, setting the font
    and font color -
    nothing. It's been 2 hours now... I'm really starting to
    hate components.
    Without exaggerating, it took me roughly 4 hours to figure
    this out: I replaced all of the "getNextHighestDepth"s with numbers
    (starting the numbering at 0) and everything showed up. Turns out
    the label code was working, but the label was getting replaced by
    the next component called in the code because they were all at the
    same depth. I thought getNextHighestDepth() was supposed to prevent
    this!

    >> I have done everything I am supposed to do according
    to the in-program help
    Not exactly. You should have been using the DepthManager
    instead of getNextHighestDepth.

  • Alert class import causes errors

    Hello,
    I am the local new guy. I have followed many examples of how to create an alert popup window and have failed.
    Background:
    added alert component to stage and delete, component shows up in library
    added import mx.controls.Alert
    to actions layer first frame of fla file
    When I control enter to create the file, I get these wierd errors, 16 of them in fact
    rainging form there is no method to no poperty
    here they are:
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\managers\PopUpManager.as: Line 123: There is no method with the name 'deactivate'.
              SystemManager.deactivate(o);
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\TextArea.as: Line 361: There is no property with the name '_color'.
           _color = UIObject.textColorList;
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\TextArea.as: Line 363: There is no property with the name 'focusTextField'.
           focusTextField = label;
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\containers\Window.as: Line 348: There is no property with the name 'clickHandler'.
           button_mc.clickHandler = delegateClick;
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\alertClasses\AlertForm.as: Line 159: There is no method with the name 'createClassChildAtDepth'.
           var o:Button = Button(createClassChildAtDepth(Button, DepthManager.kTop,
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\alertClasses\AlertForm.as: Line 166: There is no property with the name 'clickHandler'.
           o.clickHandler = onClick;
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\alertClasses\AlertForm.as: Line 167: There is no property with the name 'detail'.
           o.detail = detail;
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\alertClasses\AlertForm.as: Line 212: There is no property with the name 'width'.
            extent.width += icon_mc.width + 8;
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\alertClasses\AlertForm.as: Line 218: There is no property with the name 'height'.
            var i:Number = icon_mc.height - (numlines * (extent.height + 4));
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\alertClasses\AlertForm.as: Line 263: There is no property with the name 'height'.
            icon_mc.move(x, (height - buttons[0].height - icon_mc.height) / 2);
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\alertClasses\AlertForm.as: Line 264: There is no property with the name 'width'.
            x += icon_mc.width + 8;
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\scrollClasses\ScrollBar.as: Line 272: There is no property with the name 'height'.
            var y:Number = ((pos-minPos) * (scrollTrack_mc.height-scrollThumb_mc._height) / (maxPos - minPos)) + scrollTrack_mc.top;
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\scrollClasses\ScrollBar.as: Line 494: There is no property with the name 'height'.
            thumbHeight = pageSize / (maxPos-minPos+pageSize) * o.height;
    **Error** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\scrollClasses\ScrollBar.as: Line 497: There is no property with the name 'height'.
             if (o.height < st.minHeight)
    **Warning** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\Alert.as: Line 27: There is no class or package with the name 'mx.containers' found in package 'mx'.
          static var symbolOwner:Object = Window;
    **Warning** C:\Users\jim\AppData\Local\Macromedia\Flash 8\en\Configuration\Classes\mx\controls\Alert.as: Line 213: There is no class or package with the name 'mx.controls.alertClasses' found in package 'mx.controls'.
           var tmp = AlertForm;
    Total ActionScript Errors: 16   Reported Errors: 16
    funny thing is that when i create the same code
    import etc alert.show etc in a new fla file it works just fine, when i use the working code from the new fla and place it here not changing anything it fails with the previoulsy mentioned errors,
    I have checked the class path, i have added the direct folder of the classes, I have even tried to import the .AS file it self with no luck.
    Any suggestions here?
    Thanks
    Jim

    Ahhhhh...thank you!
    One other question that is related...
    So now it imports the class ApplicationMain.as.
    But now there are path issues that I can't quite figure out.
    So I have a scene called Content - my main and only scene.
    In that scene there is a MC called content_MC as well as 2 buttons; a print button and a start over button.
    Inside the content_MC there are several objects, including those that are labeled with instances that are meant to point the ApplicationMain file to them so they can have the ApplicationMain.as class applied to them.
    I have an AS layer/frame inside content_MC that imports the ApplicationMain class just as you suggested.
    Inside the ApplicationMain.as file the targets are registered as e1, e2, e3, e4, etc.
    These instances, e1, e2, etc, are located inside content_MC on a layer below the AS layer where the import of the ApplicationMain code is located.
    When I export the SWF I get error 1120 access to undefined property e1. This error occurs for each instance I am trying to target.
    This is clearly a path issue but  don't understand...?
    Shouldn't those instances be found by the ApplicationMain.as class since they are resident in the same movie clip where the ApplicationMain.as class is being imported into?
    Here's how the targets are registered in the ApplicationMain.as file...
    _transformTool.targets = [e1, e2, e3, e4, f1, f2, f3, f4, f5, f6, f7, f8];
    Man, AS3 is making my head spin! 
    Thanks a ton for your help!

  • Combobox bug?

    Hi all,
    i've got a problem using the combobox componet.
    i've got a couple of mcs in my movie plus a couple of
    combobox componets. All of them have been created dynamically,
    using actionscript.
    the thing is that while the combobox appears normally and
    it's SelectedIndex is visible, once i click on it in order to open
    the dropdown list, the rest items are not been displayed because of
    the depth problem i guess. they're behind some other mc's.
    in order to create all objects i am using the
    getNextHighestDepth() function.
    any ideas?

    When using getNextHighestDepth with version 2 components it
    can return a value that is out of range. Use the DepthManager Class
    instead.

Maybe you are looking for

  • Java Plug-In - An unexpected error has been detected by HotSpot Virtual Mac

    Please help as I have received the following hs_err log error: # An unexpected error has been detected by HotSpot Virtual Machine: # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x2f747761, pid=1120, tid=1680 # Java VM: Java HotSpot(TM) Client VM (1

  • Applet Authentication

    Dear friends I have the following code to load the applet from this website <html> <body> <APPLET code="mjpeg.class"      width="320"      height="240"      CodeBase="http://203.92.96.32"> <PARAM name=HEIGHT value="240"> </APPLET> </body> </html> But

  • IPOD NANO in Chinese

    I just got a new IPOD NANO and when I charge it up it displays Chinese characters and my computer doesn't seem to recognize it. Ive been through the "5" steps without success....anyone have any ideas how to get this thing back to English and to link

  • How can i download Adobe Creative Suite 5.5 Design Standard as i don't have a cd drive on my laptop?

    how can i download Adobe Creative Suite 5.5 Design Standard as i don't have a cd drive on my laptop?

  • I dont know what happens to my ipod

    i have a ipod video of 30G and it was working well untill a few days ago that i start having problems with it....i was putting music on my ipod and after my ipod finish updating in itunes y see the screen of my ipod and the apple logo was there as if