This all looks AS3 to me.
Did I misunderstood AS2?

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Kurt
Dommermuth
Sent: woensdag 17 juni 2009 15:13
To: 'Flash Coders List'
Subject: RE: [Flashcoders] understand getChildByName

Hi Cor,

Thank you for reading this Cor.  It is a package and it looks like below.
It is one of my first attempts so if you see any other room for improvement
it would be welcome.

____________________________________

The call to the loader looks like this:

var mc:MovieClip = new MovieClip();
var m = main.addChild(mc);
mc.name = "btn_nav"
var callback:Object = new Object();
callback.fn = initGameNav;
callback.mc = m;
var l:Assetloader = new Assetloader(mc, "game_buttons_as3.swf", callback);

____________________________________

package com.dom.Loaders
{       
        import flash.display.Stage;
        import flash.display.MovieClip;
        import flash.display.Loader;
        import flash.display.LoaderInfo;
        import flash.events.*;
        import flash.net.URLRequest;
        import flash.net.URLLoader;
        import flash.text.TextField;
        import com.dom.Utilities.FeedbackMessage;
        import flash.utils.getDefinitionByName;
        
        public class Assetloader extends MovieClip
        {       
                private var _path:MovieClip;
                private var _url:String;
                private var _callback:Object;
                private var _p:preloaderMC;
                private var _loader:Loader;
                private var _error:FeedbackMessage;
                
                public function Assetloader(path:MovieClip, url:String,
callback:Object=null):void
                {
                        _path = path;
                        _url = url;
                        _callback = callback;
                        initLoader();
                }
                
                private function initLoader():void
                {
                        var request:URLRequest = new URLRequest(_url);
                        _loader = new Loader();
        
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,
handleError);
        
_loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,
loadProgress);
        
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
                        _loader.load(request); //initiate loading of
main.swf
                        trace("_callback.mc = " + _callback.mc)
                        _path.addChild(_loader);
                        trace("_callback.mc2 = " + _callback.mc)
                }
                                
                // Update the percentage display
                private function loadProgress(event:ProgressEvent):void 
                {
                        var percentLoaded:Number = event.bytesLoaded /
event.bytesTotal;
                        percentLoaded = Math.round(percentLoaded * 100);

                }
                
                //remove the loader and free up resources
                private function cleanUp():void
                {
                        _loader.removeEventListener(IOErrorEvent.IO_ERROR,
handleError);
                        _loader.removeEventListener(ProgressEvent.PROGRESS,
loadProgress);
                        _loader.removeEventListener(Event.COMPLETE,
loadComplete);
                        if(_p!=null)
                        {
                                _p.parent.removeChild(_p);
                        }
                        _p = null;
                }
                
                
                // Load complete, hide the animating graphic and text
                private function loadComplete(event:Event):void 
                {
                        _callback.load_info = new Object()
                        _callback.load_info = event.target;
                        _callback.mc = event.target.content;
                        _callback.fn(_callback);
                        cleanUp();                      
                }
                
                private function handleError(e:IOErrorEvent):void 
                {
                trace("Error loading File");
                        var msg:String = "The file '" + _url + "' could not
be loaded."
                        _error = new FeedbackMessage(msg,_callback.path);
                        cleanUp()
                }
        }
}

_________________________________

The Return or on complete function essentially looks like this:


function initGameNav(o:Object):void
{
var game_button_ar:Array = o.mc.games;
var game_ar_len:Number = game_button_ar.length;

for(var i:Number=1;i<=game_ar_len;i++)
{
        var newY:Number;
        var asset_name:String = game_button_ar[(i-1)][0];
        var asset_game_to_load:String = game_button_ar[(i-1)][1];
        var asset_class =
o.load_info.applicationDomain.getDefinition(asset_name) as Class;
        var asset_mc:MovieClip = new asset_class() as MovieClip;
        o.mc.addChild(asset_mc);
        //trace("game to load = " + asset_game_to_load)
        asset_mc.asset_game_to_load = asset_game_to_load;
        asset_mc.scaleX = .50
        asset_mc.scaleY = .50
        if(i<=10)
        {
                newY = 0
                asset_mc.x = ((i-1) * asset_mc.bg.width/2) +
asset_mc.bg.width/2
        }
        else
        {
                newY = 80;
                asset_mc.x = ((i-11) * asset_mc.bg.width/2) +
asset_mc.bg.width/2
        }
        asset_mc.y = newY;  .....................etc...

_____________________________________


Kurt





-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Cor
Sent: Wednesday, June 17, 2009 8:34 AM
To: 'Flash Coders List'
Subject: RE: [Flashcoders] understand getChildByName

Hi Kurt,

How do you load youe swf into your myMC?

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Kurt
Dommermuth
Sent: woensdag 17 juni 2009 13:57
To: 'Flash Coders List'
Subject: [Flashcoders] understand getChildByName

Hi All,

New to AS3.

I'm sure I must be missing something obvious, but I'm at a loss.

Example:

I have created a movie clip - called "myMC". I added it to an existing movie
clip called "main" (main.addChild(myMC)).

At this point myMC traces as [object MovieClip].

I load an as2 swf into myMC.

At this point myMC traces as [object MainTimeline].

I change myMC's y value to 100 and it traces as 100.

Later I want to move it again.  To reference it I create a variable like
this:

var mc:DisplayObject = main.getChildByName("myMC");

Now when I trace mc's y value it is 0.

I don't know why.

Does the trace [object MainTimeline] indicate that I've used addChild
incorrectly?  Should I have added myMC to "main" after it had loaded?  Why
did it go from a MovieClip object to a MainTimeline object?

Does the fact that I'm loading in an as2 swf have anything to do with it?

Any help would be appreciated.

Thank you,
Kurt

_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to